哈夫曼树创建
2015-10-16 12:38:51 28 举报
哈夫曼树是一种带权路径长度最短的二叉树,它是由n个权值作为叶子节点构成的具有n个节点而深度为h的二叉树。哈夫曼树的构造过程是:首先将给定的n个权值看成n个叶子节点,构成一棵二叉树;其次在二叉树中任选两个叶子节点,求出其根节点的权值;然后对二叉树中所有的叶子节点按照根节点的权值从小到大排序;最后重复第二步和第三步,直到所有节点合并成一个根节点为止。
作者其他创作
大纲/内容
否
tree[j].weightsmall2?
in?
j=0
i=n
输入数据与权重(前n-1)
结束
是
i++
开始
tree[j].parent=0?
tree[j].weightsmall1?
small2=tree[j].weightp2=j
p1=p2small1=small2=Maxval
j=i-1?
初始化
j++
small2=small1small1=tree[j].weightp2=p1p1=j
0 条评论
下一页