永发信息网

怎么构建哈夫曼树

答案:2  悬赏:0  手机版
解决时间 2021-01-02 17:34
怎么构建哈夫曼树
最佳答案
问题一:如何建立哈夫曼树 哈夫曼树: 82 / \ 33 49 / \ / \ 16 17 20 29 / \ / \ 9 11 14 15 / \ 5 6 / \ 2 3 图片没法上传问题二:哈夫曼树的构造 10分第一步:排序 2 4 5 9
第二步:挑出2个最小的 2 4 为叶子构造出
6
2 4
第三步:判断 6 不大于 5或9(剩余叶子中最小的2个)=》 同方向生长,得出:
11
6 5
2 4
第四步:继续生长
20
11 9
6 5
2 4
权值为 2*3+4*3+5*2+9*1=37
也可以20+11+6=37
例题:6、13、18、30、7、16
排序 6 7 13 16 18 30
13
6 7
26 26大于16或18 =》分支生长
13 13
6 7
26 34
13 13 16 18
6 7
此时最小的2个数为 26 30 得出
56 34
26 30 16 18
13 13
6 7
最后得出 90
56 34
26 30 16 18
13 13
6 7 权值 219
90+56+26+13+34 or 6*4+7*4+13*3+30*2+16*2+18*2问题三:怎样构造合适的哈夫曼树? 5分来自百度百科:哈夫曼树构造方法:
假设有n个权值,则构造出的哈夫曼树有n个叶子结点。 n个权值分别设为 w1、w2、…、wn,则哈夫曼树的构造规则为:
(1) 将w1、w2、…,wn看成是有n 棵树的森林(每棵树仅有一个结点);
(2) 在森林中选出两个根结点的权值最小的树合并,作为一棵新树的左、右子树,且新树的根结点权值为其左、右子树根结点权值之和;
(3)从森林中删除选取的两棵树,并将新树加入森林;
(4)重复(2)、(3)步,直到森林中只剩一棵树为止,该树即为所求得的哈夫曼树。
简单的说,就是选择两个权值最小的节点,构造一棵树,树的根权值是两个权值最小的节点之和,将新的权值节点放回序列,继续按照上述方法构造,直到只有一棵树为止,这样的树其WPL最小。问题四:哈夫曼树怎样构造编码? 先编造哈夫曼树,哈夫曼树构造规则:
假设有n个权值,则构造出的哈夫曼树有n个叶子结点。 n个权值分别设为 w1、w2、…、wn,则哈夫曼树的构造规则为:
(1) 将w1、w2、…,wn看成是有n 棵树的森林(每棵树仅有一个结点);
(2) 在森林中选出两个根结点的权值最小的树合并,作为一棵新树的左、右子树,且新树的根结点权值为其左、右子树根结点权值之和;
(3)从森林中删除选取的两棵树,并将新树加入森林;
(4)重复(2)、(3)步,直到森林中只剩一棵树为止构造完成之后,从这个树根结点开始,默认左子树为0,右子树为1,直到叶子结点为止,叶子结点的编码就是需要的编码。
举例
知字符A B C D E F的权值为8 12 5 20 4 11
哈夫曼树就是:
60
/ \
23 37
/ \ / \
F(11) B(12) 17 D(20)
/ \
A(8) 9
/ \
E(4) C(5)
编码就是 A:100, B:01, C:1011, D: 11, E:1010 ,F:00问题五:哈夫曼树的构建过程 30分哈夫曼树:
给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。
哈夫曼树的构造:
假设给定的权值如下:3,5,7,8,10,15;
首先取集合中最小的两个数:3+5=8,再删除集合中3和5的值,把8放入原集合,
原集合变成:7,8,8,10,15;
8
/ \
3 5
再从7,8,8,10,15中再取2个最小的数构成一个树
15
/ \
8 7
/ \
3 5
再从8,10,15,15中再取2个最小的数构成一个树:
18
/ \
8 10
再从15,15,18中取两个最小数:15,15,构成树:
30
/ \
15 15
/ \
8 7
/ \
3 5
最后把18,30构成树(此时集合中已经没元素了,就形成了哈夫曼树):
48
/ \
30 18
/ \ / \
15 15 8 10
/ \
8 7
/ \
3 5
希望你能看懂!!问题六:哈夫曼树的创建 哈夫曼树不一定是唯一的,选出最小和次小之后哪个放左边都行的,哈弗曼编码唯一只是说得到的码是唯一,但是可以有许多种码,只是它能够唯一地编码和解码。所以,上面两个图应该都是正确的。如果你习惯按照左小右大的规则来构造的话,那只能选择第二幅图了。问题七:数据结构,图中哈夫曼树是如何构建的? 怎么样才可以并列生长?如第三层的37和41 构造哈夫曼树,从节点中选择权最小的两个节点。两个节点求和后,它们的和被放入节点选择的节点数队中。下次从节点队中再选当前权值最小的两个节点。如果两个数的和正好是下一步的两个最小数的其中的一个,那么这个树直接往上生长就可以了,如果这两个数的和比较大,不是下一步的两个最小数的其中一个,那么就并列生长。就是37,51的情况。不知道对不对。问题八:3 4 5 6 8 9怎么构造哈夫曼树,怎么我总是构造不对,是这样的么 对的,不过通常习惯性会从左到右,从下到上来构造
全部回答
感谢回答
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
暖气好还是空调好
我的北面户外运动衣怎么洗?
自然境界,功利境界,道德境界,天地境界分别
适合建筑公司的名字
闲杂金属物品的放置
百度如何在任务栏显示啊?设置里也找不到任务
今年的钱为啥这么难挣?
lol无限火力什么意思?
__fired,your health care and other benefit
怎样用苹果手机拍出好看人物照片
如何查看台式电脑的主机编号和型号
恐怖是什么意思
腾讯刚上市的股价多少
梦见坐车下坡
代办公积金靠谱吗
推荐资讯
天猫有运费险的怎么退货,运费险又怎么得到呢
7.2×12.5÷8(简便计算)
请问银华富裕转换成银华88怎样?
电影上线是什么意思
最近开播张一山演的悬疑电视剧叫什么
A recent survey show that most students of
4210÷70和结果是A.商6余10B.商60余10C.商60
永胜平价超市地址有知道的么?有点事想过去
超声波检测为什么要先在试块上测声速?
第一次抽烟会怎样
宝马mini.奥迪a3或者甲壳虫哪个好
跑步跑的脚起泡是脚的问题还是跑步姿势的问题
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?