时 间 记 忆
最 新 评 论
专 题 分 类
最 新 日 志
最 新 留 言
搜 索
用 户 登 录
友 情 连 接
博 客 信 息


 
 
   
 
 
构造哈夫曼
[ 2007-3-22 14:04:00 | By: nin124 ]
 
 
构造哈夫曼
net_hawk 发表于 2007-3-13 17:41:00
如何构造哈夫曼树?D.A.Huffman 最早研究出一个带有一般规律的构造算法,俗称哈夫曼算法,其基本思想是让权值最大的叶子离根最近。构造方法如下:
1) 由给定的n个权值{w1, w2, …, wn},构造n棵扩充二叉树的集合F = {T1, T2, …,
Tn},其中每棵扩充二叉树中均只含一个带权值wi的根结点,其左、右子树均为空;
2) 重复下列步骤,直到F中只含一棵树为止:
j 在F中选取其根结点的权值为最小的两棵扩充二叉树,分别作为左、右子树构造一棵新的二叉树,并置这棵新的二叉树根结点的权值为其左、右子树根结点的权值之和;
k 从F中删去这两棵树,同时加入刚生成的新树;
3) 按上述步骤得到的二叉树就是哈夫曼树。

任何一个字符的编码都不是同一字符集中另一个字符的编码的前缀,符合此要求的编码称为前缀编码
 
 

发表评论:

    大名:
    密码: (游客无须输入密码)
    主页:
    标题:
 
     
   
     
Powered by Oblog.