哈夫曼树(理论篇)
来源:互联网 发布:sql insert 单引号 编辑:程序博客网 时间:2024/06/07 02:35
与哈夫曼树有关的概念:
路径: 树中一个结点到另一个结点之间的分支构成这两个结点之间的路径。
路径长度:路径上的分枝数目称作路径长度。
树的路径长度:从树根到每一个结点的路径长度之和。
结点的带权路径长度:在一棵树中,如果其结点上附带有一个权值,通常把该结点的路径长度与该结点上的权值
之积称为该结点的带权路径长度(weighted path length)
树的带权路径长度:如果树中每个叶子上都带有一个权值,则把树中所有叶子的带权路径长度之和称为树的带
权路径长度
什么是权值?
权值就是定义的路径上面的值。可以这样理解为节点间的距离。通常指字符对应的二进制编码出现的概率。
至于霍夫曼树中的权值可以理解为:权值大表明出现概率大!
一个结点的权值实际上就是这个结点子树在整个树中所占的比例.
abcd四个叶子结点的权值为7,5,2,4. 这个7,5,2,4是根据实际情况得到的,比如说从一段文本中统计出abcd四个字母出现的次数分别为7,5,2,4. 说a结点的权值为7,意思是说a结点在系统中占有7这个份量.实际上也可以化为百分比来表示,但反而麻烦,实际上是一样的.
设某二叉树有n个带权值的叶子结点,则该二叉树的带权路径长度记为:
公式中,Wk为第k个叶子结点的权值;Lk为该结点的路径长度。
示例:
二、哈夫曼树的构造
- 哈夫曼树(理论篇)
- 树(理论篇)
- ansible (理论篇)
- 从理论到实践,全方位认识DNS(理论篇)
- 从理论到实践,全方位认识DNS(理论篇)
- 从理论到实践,全方位认识DNS(理论篇)
- 从理论到实践,全方位认识DNS(理论篇)
- 字符编码(理论篇)
- 二叉树(理论篇)
- AngularJS(一)理论篇
- SOA理论篇(基本概念)
- 理论篇
- Net与字符编码(理论篇)
- 字符设备驱动程序(理论篇)
- 并发和竞态(理论篇)
- 数据挖掘读书心得(理论篇)
- 字符设备驱动程序(理论篇)
- 并发和竞态(理论篇)
- chrome 调试anroid
- python中super()出现的TypeError: must be type, not classobj
- Light OJ 1094 Farthest Nodes in a Tree (树的直径)
- checkbox控件应用
- MySQL笔记-基础知识
- 哈夫曼树(理论篇)
- QT 5.3开发及移植 实例
- DWR框架学习
- myeclise添加javascript插件aptana方法及遇到问题的解决
- 基础几个设计模式
- tomcat 的lib下添加多个web项目共享的jar包方法
- mysql分库分表
- JavaScript规范-变量
- 缓存技术之Ehcache(4)页面缓存