本文主要是介绍霍夫曼树 编码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
根据小慧JJ的课件完成,用数组存储二叉树,Fun_encrypt_leaf()由叶子开始至根部编码,这个存储编码串时从尾部开始存储,对编码好的字符串进行拷贝时正好倒置
过来;fun_encrypt_recursion()从根部开始递归到叶子进行编码;fun_encrypt_onrecurent()非递归无栈从根部到叶子进行编码。思想都很强大,我是码农— —
bbb……
测试数据和编码结果:
Input:
8
a 12
b 3
c 4
e 67
f 56
g 2
h 10
i 100
Output:
a: 110
b: 10100
c: 101011
e: 111
f: 1011
g: 101010
h: 100
i: 0
Input:
5
a 1
b 2
c 3
d 4
e 5
Output:
a: 010
b: 011
c: 00
d: 10
e: 11
Input:
3
a 1
b 2
c 4
Output:
a: 00
b: 01
c: 1
ps:根据建树实现细节的不同,编码结果可能大同小异,可以无视……可以无视……
这篇关于霍夫曼树 编码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!