哈夫曼树路径问题

哈夫曼树构造

哈夫曼树的构造并不难,无非就是从给定的权值集合中选择最小的结点作为子树(哈夫曼几叉树就选几个)先进来构造,然后将选择的结点之和添加到原集合,接着重复上述步骤即可。

最近遇到了一个很有意思的题目:
下列选项给出的是从根分别到达两个叶结点路径上的权值序列,能属于同一棵哈夫曼树的是 () 。(D)

A、24,10,5 和 24,10,7
B、24,10,5 和 24,12,7
C、24,10,10 和 24,14,11
D、24,10,5 和 24,14,6

【分析】 根据哈夫曼树的特点,可以得知,在一条路径上,紧挨着的前一个结点是后面一个的父节点,再根据哈夫曼树不存在度为1的结点,所以可以推算出其兄弟结点的权值。话不多说,一个个选项进行判断。

A选项中,A的树形状为:
在这里插入图片描述
根本无法构造成一个树,并且构造也错误并不是首先选择3和5两个结点构造。

B选项中也和A相似,树的形状为:
在这里插入图片描述
也无法构造成一个树

C选项中,树的形状为:
在这里插入图片描述
是一颗树了,不过,构造又出错了,真让人头大,为什么不让最小的两个顶点(0,3)在一起呢?真的是拆散了一对相亲相爱。

最后就是正确选项了,树的形状是:在这里插入图片描述
你看这优美的树状,养眼的构造,真的是完美。

最后最后

废话就这样说完了,点个赞再走可好?

  • 34
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值