kxbhyy520
春芽
共回答了21个问题采纳率:100% 举报
1 69
/
32 37
/
19 18
/
7 11
/
5 6
/
2 3
哈弗曼编码就是32 :1
19 :01
7:001
6:0000
2::00011
3:00010
2.此为大堆法~
初始化:
23
/ 从非叶子节点的最左边看~(同一层)
99 16-------------------------------------
/ / 99比子节点大,不用交换,16却小,跟最大的交换
55 14 26 40
----- 23
/
99 40
/ /
55 14 26 16
--------------------------------继续对比~23与99 40 99与23互换,换以后23比55小~继续换~
======= 99
/
55 40
/ /
23 14 26 16
----------------------第一趟完成~
---此时写出 99 55 40 23 26 16
交换第一个与最后一个~
-------16 55 40 23 26 99
除最后一个外 堆排序~.并输出 99
------- 16 55
/ 对比55合适,40合适,调整16 /
55 40---------------------------- 23 40
/ / 16与55换 并与23换~/ /
23 14 26 16 14 26
-------------------55 23 40 16 14 26
交换第一个与最后一个~----26 23 40 16 14 55
------
除最后一个排序 并输出 55
26 40
/ /
23 40 -----只需交换40 26 23 26
/ /
16 14 16 14
-------------------------------------------------------
40 23 26 16 14 交换 14 23 26 16 40 输出 40
14 26
/ /
23 26---------------- 23 14
/ /
16 16
26 23 14 16
交换~16 23 14 26 输出 26
------ 16 23
/ --------------------- /
23 14 16 14
23 16 14 交换~16 14 23 输出23
16
/
14
交换 14 16 输出16
14 输出14
所以最终全部输出~99 55 40 26 23 16 14
1年前
4