数据结构 哈夫曼树程序
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 12:32:20
数据结构 哈夫曼树程序
数据结构 哈夫曼树程序
数据结构 哈夫曼树程序
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
累死了~~~~~~~~~~第三个木有图~不做了~~~