数据结构问题:给定一组数据{6,2,7,10,3,12}以它构造一棵哈夫曼树,则树高为5,带权路径96,但是
我知道答案是树高5,带权路径长度96,
人气:120 ℃ 时间:2020-06-02 08:37:46
解答
给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree).
假设有n个权值,则构造出的哈夫曼树有n个叶子结点.n个权值分别设为 w1、w2、…、wn,则哈夫曼树的构造规则为:
(1) 将w1、w2、…,wn看成是有n 棵树的森林(每棵树仅有一个结点);
(2) 在森林中选出两个根结点的权值最小的树合并,作为一棵新树的左、右子树,且新树的根结点权值为其左、右子树根结点权值之和;
(3)从森林中删除选取的两棵树,并将新树加入森林;
(4)重复(2)、(3)步,直到森林中只剩一棵树为止,该树即为所求得的哈夫曼树.
若将树中结点赋给一个有着某种含义的数值,则这个数值称为该结点的权.结点的带权路径长度为:从根结点到该结点之间的路径长度与该结点的权的乘积.
#
/ \
# #
/ \ / \
12 # 7 10
/ \
6 #
/ \
2 3
带权路径长度=(2+3)*4+6*3+(12+7+10)*2=9
推荐
- 由分别带权为9,2,5,7的4个叶节点构造一棵哈夫曼树,该树的带权路径长度为()?
- 【数据结构】用五个权值{3.2.4.5.1}构造的哈夫曼树带权路径长度是多少?
- 给定一组权值W=(14.15.7.3.20.4)请构造出相应的哈夫曼树,并计算其带权的路径长度WPL?
- 数据结构,构造哈夫曼树,求树的带权路径长度
- 数据结构与算法:以数据集{4,5,6,7,10,12,18}为结点权值所构造的哈夫曼树,其带权路径长度为?
- 隋朝时领先世界的科技有哪些?
- 春天、夏天、秋天、冬天从几月开始?几月结束?
- 当细菌繁殖时,一个细菌分裂成两个,一个细菌在分裂m次后,数量为2^m个(1)大肠杆菌是一种分裂速度很快的细菌,它每15分种分裂一次,如果现在盘子里有1000个大肠杆菌.则2小时后盘子里有多少个大肠杆菌?(2)4小时后大肠杆菌的数量是2小时的
猜你喜欢
- 谁能帮我把英文歌Alexandra Burke的 Perfect 全部翻译成汉语.
- 一弹簧的上端固定在升降机顶端,下端悬挂一小球,升降机静止时,该弹簧伸长4cm.当升降级运动时,该弹簧仅伸2cm,由此可知升降机正以多少的加速度运动?
- 镁和氧气发生的化学方程式?
- 幼儿园清华幼儿英语2a 《this little pig 》说课稿
- 与整型数学算式ab/(a+b)等价的C语言表达式是
- 甲,乙两杯水里都有冰块,甲杯冰块多一些,乙杯冰块少一些,将甲杯放在阳光下照射,乙杯放在阴凉处,过了一段时间,两杯里都有冰块剩余,那么( )
- 解方程 5x-11=(x-52)/12+13
- 14和35的最大公因数和最小公倍数的乘积与这两个数的乘积有什么关系?