本为通信屌丝,实验仿真愈发深入,愈发感觉数据结构重要性。
借学习信息论信源编码之哈夫曼编码实验之时,练习一下哈夫曼树的构建,如有错误,还请指出
ps:限于本人英文水平,注释中英混杂,大家凑合看把=。=
-----------------------------------------------------------------萌萌的分割线-----------------------------------------------------------------------------------
/*这里先贴上代码及其注释,日后用信息论知识进行阐述*/
代码实现思路:定义树的节点结构体root;将每次输入的数据用root*的结构体指针数组F(用于构建哈夫曼树),F1(用于回溯)保存起来;
对F每轮排序,找出权重(frequency)最小的两个结构体剔除,并将他们的frequency相加赋值给他们的父节点,父节
点的孩节点指向他们俩,然后将父节添加到F里面,进行下一轮循环;
/**************************************************************************
Copyright:Doge
Author: Doge
Date:2016-11-26
Description:Create a Huffman Tree to do Huffman Code;
******************************************