#!/usr/bin/python
#coding=utf-8
#哈夫曼树创建 class Node():
def __init__(self,value,left=None,right=None):
self.value=value
self.left=left
self.right=right
class Halfman():
def init(self,k):
k.sort()
# key=Node(k[0])
self.root=Node(k[0])
if len(k)==len(set(k)): #无重复项判定
for i in range(1,len(k)):
node=Node(k[i])
if i==1:
max=k[i]*(len(k)-i)+self.root.value*(len(k)-1)
else:
max=k[i]*(len(k)-i)+self.root.value
root=Node(max,self.root,node)
self.root=root
return self.root
def pre(self,root):
if root==None:return
print root.value
self.pre(root.left)
self.pre(root.right) k=[2,8,5,6,4,7,9,1,3]
tree=Halfman()
a=tree.init([2,8,5,6,4,7,9,1,3]) tree.pre(a) print '*'*40 print a.value
print a.left.value
print a.right.value

最新文章

  1. 在测试框架中使用Log4J 2
  2. Raytracer
  3. Genymotion
  4. css中box-shadow阴影效果的使用
  5. vs 2013 Express 无法启动程序xxx.exe,系统找不到指定文件
  6. CGRectXXX笔记
  7. C++ Primer----一个关于 vector 的有趣的问题
  8. codeforce 702D Road to Post Office 物理计算路程题
  9. Understanding responsibilities is key to good object-oriented design(转)
  10. openstack私有云布署实践【12.2 网络Neutron-controller节点配置(办公网环境)】
  11. HDU 5798 Stabilization
  12. Hibernate基础学习(一)—初识Hibernate
  13. FastJson简单使用
  14. [转]关于OpenGL的绘制上下文
  15. 12.2、Libgdx的图像之清屏
  16. C# 绘制PDF嵌套表格
  17. Elasticsearch 关键字:索引,类型,字段,索引状态,mapping,文档
  18. tomcat中web项目编译后的结构
  19. sqli-labs(十)(过滤注释符)
  20. 关于Sublime Text3的emmet插件和tab快捷键冲突问题

热门文章

  1. java并发编程实战:第十五章----原子变量与非阻塞机制
  2. UVA 11235 Frequent values 线段树/RMQ
  3. IDEA 配置SSH2
  4. mysql设定或修改密码的三个方法
  5. jQuery限制文本框的输入长度
  6. 关于Unity中MonoBehaviour的构造函数
  7. java—在dbutils中处理事务与不确定条件的查询(46)
  8. IDEA中配置SpringMVC框架 第一个演示【转】
  9. leecode刷题(22)-- 反转数组
  10. 代码审计就该这么来3 beescms getshell