原理:每次最小的两个数,组成左右子树,相加所得的数放回数列重新排序,再选出最小的两个数组成左右子树,和上一个分支的和相差太大的话就另组成一个树,自底向上构建。
这次上课所讲的哈夫曼编码,在实践中出现的问题主要有两个:
1、老师所讲的案例中两数相加后仍为最小,因此只需要一直插入右子树即可自底至顶编完整棵树,但在这次的树的构建中,出现了很多数字相加后处于数列中间的情况,让我不知所措。
2、我受到了不清晰的离散数学记忆的影响,记成了只能插入右边,导致0.07和0.08无法放在一起,只能和0.11另组成一棵树的叶,导致了最后的错误。
根据上课所讲的有关哈夫曼编码的知识重新写了一遍: