多叉哈夫曼树的基本计算
来源:互联网 发布:诺贝尔知乎 编辑:程序博客网 时间:2024/05/24 05:00
百度百科:
哈夫曼树也可以是k叉的,只是在构造k叉哈夫曼树时需要先进行一些调整。构造哈夫曼树的思想是每次选k个权重最小的元素来合成一个新的元素,该元素权重为k个元素权重之和。但是当k大于2时,按照这个步骤做下去可能到最后剩下的元素少于k个。解决这个问题的办法是假设已经有了一棵哈夫曼树(且为一棵满k叉树),则可以计算出其叶节点数目为(k-1)nk+1,式子中的nk表示子节点数目为k的节点数目。于是对给定的n个权值构造k叉哈夫曼树时,可以先考虑增加一些权值为0的叶子节点,使得叶子节点总数为(k-1)nk+1这种形式,然后再按照哈夫曼树的方法进行构造即可。
算法与数据结构考研试题精析 陈守孔 胡潇琨 李玲(第三版)P270
对于 k 叉树,设 m 为叶子数 , 若 ( m - 1 ) % ( k - 1 ) != 0 , 要增加虚(子叶)结点。第一次构造用 ( m - 1 ) % ( k - 1 ) + 1 个结点,之后都用 k 个结点构造 k 叉树。
阅读全文
0 0
- 多叉哈夫曼树的基本计算
- 基本的计算几何
- 爱尔兰的基本计算公式
- 基本算术的计算代价
- 计算几何的基本应用~~~~
- 数据立方体的基本计算
- java中计算基本的时间段
- java中计算基本的时间段
- Risk骰子规则的基本概率计算
- 云计算的20个基本定义
- 云计算的20个基本定义
- hdu 1086 很基本的计算几何
- 云计算的20个基本定义
- 并行计算的3中基本模型
- 对于云计算的基本认识
- 计算基本内置类型的范围
- 几个基本的计算几何问题
- 2739计算对数--基本数据类型的长度
- for循环控制"*"输出一个菱形
- python 内置方法
- mapreduce输出多文件出错
- java ArrayList 转 String数组
- Python 碎记
- 多叉哈夫曼树的基本计算
- 获取App应用系统基本信息 → AppSysMgr
- matlab画三维图、提取excel数据
- Excel VBA内部函数大全
- IP概念
- PHP CURL curl_setopt 参数
- SQLite数据库的使用
- tomcat web项目中的Can't create cache file!的解决方法
- 接口有2种nil状态