知识点
一 . 哈夫曼树的定义、构造及其遍历
哈夫曼树也被称为最优二叉树,对于给定的一系列带权的叶子结点,带权路径长度WPL(Weighted Path Length)最短的二叉树。
哈夫曼树中的叶节点的个数比非叶节点的个数多一。
二 . 哈夫曼编码/霍夫曼编码 / Huffman编码
哈夫曼编码是可变字长编码(ULC)的一种。
1952年由Huffman提出的一种编码方法。完全依照字符出现的概率来构造编码,使其成为平均长度最短的编码方式,有时称为最佳编码。
哈夫曼编码的码字(各符号的代码)是异前置码字,即任一码字不会是另一码字的前面部分,这使各码字可以连在一起传送,中间不需要另外加隔开的符号,只要传送的时候不出错,接收端仍可以分离各个码字,不致混淆。
模板题
思路:(待填坑)
这道题实际上要求k叉Huffman树,及由两个分叉变为k个分叉(k叉树)。
但真正去跑的时候你才发现,最后一次合并之后,堆中剩下m个值。但如果1<m<k,即没有达到堆中只剩一个值却不能合并。
所以我们