#赫夫

数据结构40:哈夫曼树(赫夫曼树、最优树)

 赫夫曼树,别名“哈夫曼树”、“最优树”以及“最优二叉树”。学习哈夫曼树之前,首先要了解几个名词。路径:在一棵树中,一个结点到另一个结点之间的通路,称为路径。图1中,从根结点到结点a之间的通路就是一条路径。路径长度:在一条路径中,每经过一...

赫夫曼树JAVA实现及分析

一,介绍1)构造赫夫曼树的算法是一个贪心算法,贪心的地方在于:总是选取当前频率(权值)最低的两个结点来进行合并,构造新结点。2)使用最小堆来选取频率最小的节点,有助于提高算法效率,因为要选频率最低的,要么用排序,要么用堆。用堆的话,出堆的复杂度为O(logN),而向堆中插入一个元素的平均时间复杂度为O(1),在构建赫夫...