数据结构问题 20

给定一组数列(15,8,10,21,6,19,3)分别代表字符A,B,C,D,E,F,G出现的频度,试叙述建立哈夫曼树的算法思想,画出哈夫曼树,给出各字符的编码值,并说明... 给定一组数列(15,8,10,21,6,19,3)分别代表字符A,B,C,D,E,F,G出现的频度,试叙述建立哈夫曼树的算法思想,画出哈夫曼树,给出各字符的编码值,并说明这种编码的优点。 展开
 我来答
荒村归来dd
2014-05-23
知道答主
回答量:40
采纳率:0%
帮助的人:26.2万
展开全部

建立哈夫曼树的算法思想:

1.初始化: 根据给定的n个权值{w1,w2,…wn}构成n棵二叉树的集合F={T1,T2,..,Tn},其中每棵二叉树Ti中只有一个带权wi的根结点,左右子树均空。

2. 找最小树:在F中选择两棵根结点权值最小的树作为左右子树构造一棵新的二叉树,且至新的二叉树的根结点的权值为其左右子树上根结点的权值之和。

3. 删除与加入:在F中删除这两棵树,并将新的二叉树加入F中。

4. 判断:重复前两步(2和3),直到F中只含有一棵树为止。该树即为哈夫曼树

------------------------------------------------------------------------------------------

哈夫曼树

-------------------------------------------------------------------------------------------

字符编码:

A  111

B  000

C  110

D  10

E  0011

F  01

G 0010

------------------------------------------------------------------------------------------

编码的优点(具体你可以百度)

可以得到最短的编码长度。

------------------------------------------------------------------------------------------

万山数据
2024-11-14 广告
作为北京万山数据科技有限公司的工作人员,对于数据反向治理有一定的了解。数据反向治理可以理解为对数据治理流程的逆向操作,旨在确保数据的准确性、一致性和安全性。在数据治理过程中,如果发现数据问题或异常,可以通过反向治理进行追溯和修正。我们公司拥... 点击进入详情页
本回答由万山数据提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式