1. 将提供的字符串(自定义字符串)进行排序,获取各个字符的权重;
2. 将字符及对应的权重放入树节点(node)中,用链表将各个节点有序的(按权重升序)链接;
3. 实现链表的增、删功能;
4. 遍历链表,将链表的前两个节点中权重相加,生成新节点,然后将新节点插入到有序链表中;
5. 直到链表中只剩一个节点时,将此节点赋给哈夫曼树头;
6. 利用创建的哈夫曼树得到编码; 用递归得到叶子节点,由叶子节点追溯到根节点,得到编码后反转顺序;
2021-06-14 00:35:54
5KB
哈夫曼树
1