5.5树与二叉树的应用

第9题

这个题主要就是要记得

1、结点数等于总度数加1(总度数就是边数)

2、由于哈夫曼树只有度为m和度为0的结点,所以结点数=度为0的结点+度为2的结点即N0+Nm。 那么结合1和2就可以知道N0+Nm=m*Nm+1.(这个m*Nm的意思就是每个度为m的结点贡献m条分支即总度数然后再加1)。然后就可以得到下面的式子

所以选C(这里可能我的笔误,那个应该是m*Nm的自己知道就行)

补充就是为什么要加向上的取整符号,因为有些就是比如结点不够m的时候,就会添加虚节点,但虚节点本质上是不计入总结点数的,所以不一定是整数,要进行向上取整。

第16题

错因:就是没有读懂题目,直接一张图搞定如下图:

其实本质就是把左边给的数字写成哈夫曼树的一条路径,然后进行补齐看看是否可以成立。

21题

像这种题我们只要举个例子就行:

首先对于

A选项,给定的字符是1、2、3,而构造出来的二叉树并不是相同的结点数,这里的特性都是归根与定长编码集的字符都会在同一层出现,由图可知,在定长编码集中1->00,2->01,3->10,因为定长编码集的码长相同,所以都会在同一层出现

B选项也是由图可知

C选项是错的,假如结点的符号就代表出现的频次,那么1就是1次,2就是2次,3就是3次,又因为哈夫曼树是挑最小的两个结点来结合,所以会选1和2,而1和2的出现频次并不一样,所以C错误

D、由A的解释就知道。

相关推荐
一去不复返的通信er2 小时前
贪心算法-合并区间(LeetCode 56)
算法·leetcode·贪心算法
Shaoshing2 小时前
LeetCode100 49. 字母异位词分组
java·算法
YFJ_mily2 小时前
第二届区块链技术与基础模型国际学术会议(BTFM2027)
算法·区块链·能源·智能系统·rdlink研发家·机器人自动化
汤姆宝库3 小时前
收官深拆:第一性原理、产业电网与未来推演
大数据·人工智能·算法
moshuying5 小时前
块扩散 + GDN 改造:Clover 把「并行生成」塞进了 Agent 的长上下文里
前端·算法
没落之王5 小时前
历史系统建模:宋初太祖太宗「再立天庭」秩序重构推演
人工智能·算法·重构
INGNIGHT6 小时前
91 · 最小调整代价(序列dp)
数据结构·算法·leetcode
moshuying6 小时前
扩散模型开始写代码、开网页了:350 亿参数,速度比 Jev 快一倍
前端·算法
小超人诞生日记6 小时前
C++ 异常机制详解:从抛出捕获到异常安全
c++·算法