Code前端首页关于Code前端联系我们

哈夫曼树中的算法和编码(C语言实现代码)

terry 2年前 (2023-09-27) 阅读数 84 #数据结构与算法

1.霍夫曼树搜索算法

搜索算法源自霍夫曼树算法。在构建二叉树时,我们需要找出哪些数据最小以拟合我们的霍夫曼树的最优解。

寻找权重值最小的两个节点的思路是:从待处理数据的头部位置开始,首先找到两个没有父节点的节点(意味着它们没有被用来构建树),然后将它们与后面没有父节点的节点按顺序进行比较。有两种情况需要考虑:

l 如果小于两个节点中较小的一个,则保留该节点并删除原来较大的节点。 ;

l 如果两个节点权重值之间,则替换原来较大的节点;

代码可以表示为:

//HT数组中存储的哈夫曼树,end表示HT数组中存储的节点的最终位置。 s1和s2通过数组HT中权重最小的两个节点的位置voidSelect(HuffmanTree HT,intend,int
*s1 . i = 1;//查找还没有建树的节点( OH i ++;while(HT[i] .parent != 0 && i

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门