最优二叉树概念 (哈夫曼树)
来源:互联网 发布:女命七杀格 知乎 编辑:程序博客网 时间:2024/05/21 06:00
最优二叉树概念
1.树的路径长度
树的路径长度是从树根到树中每一结点的路径长度之和。在结点数目相同的二叉树中,完全二叉树的路径长度最短。
2.树的带权路径长度(Weighted Path Length of Tree,简记为WPL)
结点的权:在一些应用中,赋予树中结点的一个有某种意义的实数。
结点的带权路径长度:结点到树根之间的路径长度与该结点上权的乘积。
树的带权路径长度(Weighted Path Length of Tree):定义为树中所有叶结点的带权路径长度之和,通常记为:
其中:
n表示叶子结点的数目
wi和li分别表示叶结点ki的权值和根到结点ki之间的路径长度。
树的带权路径长度亦称为树的代价。
3.最优二叉树或哈夫曼树
在权为wl,w2,…,wn的n个叶子所构成的所有二叉树中,带权路径长度最小(即代价最小)的二叉树称为最优二叉树或哈夫曼树。
【例】给定4个叶子结点a,b,c和d,分别带权7,5,2和4。构造如下图所示的三棵二叉树(还有许多棵),它们的带权路径长度分别为:
(a)WPL=7*2+5*2+2*2+4*2=36
(b)WPL=7*3+5*3+2*1+4*2=46
(c)WPL=7*1+5*2+2*3+4*3=35
其中(c)树的WPL最小,可以验证,它就是哈夫曼树。
注意:
① 叶子上的权值均相同时,完全二叉树一定是最优二叉树,否则完全二叉树不一定是最优二叉树。
② 最优二叉树中,权越大的叶子离根越近。
③ 最优二叉树的形态不唯一,WPL最小
1.树的路径长度
树的路径长度是从树根到树中每一结点的路径长度之和。在结点数目相同的二叉树中,完全二叉树的路径长度最短。
2.树的带权路径长度(Weighted Path Length of Tree,简记为WPL)
结点的权:在一些应用中,赋予树中结点的一个有某种意义的实数。
结点的带权路径长度:结点到树根之间的路径长度与该结点上权的乘积。
树的带权路径长度(Weighted Path Length of Tree):定义为树中所有叶结点的带权路径长度之和,通常记为:
其中:
n表示叶子结点的数目
wi和li分别表示叶结点ki的权值和根到结点ki之间的路径长度。
树的带权路径长度亦称为树的代价。
3.最优二叉树或哈夫曼树
在权为wl,w2,…,wn的n个叶子所构成的所有二叉树中,带权路径长度最小(即代价最小)的二叉树称为最优二叉树或哈夫曼树。
【例】给定4个叶子结点a,b,c和d,分别带权7,5,2和4。构造如下图所示的三棵二叉树(还有许多棵),它们的带权路径长度分别为:
(a)WPL=7*2+5*2+2*2+4*2=36
(b)WPL=7*3+5*3+2*1+4*2=46
(c)WPL=7*1+5*2+2*3+4*3=35
其中(c)树的WPL最小,可以验证,它就是哈夫曼树。
注意:
① 叶子上的权值均相同时,完全二叉树一定是最优二叉树,否则完全二叉树不一定是最优二叉树。
② 最优二叉树中,权越大的叶子离根越近。
③ 最优二叉树的形态不唯一,WPL最小
阅读全文
1 0
- 最优二叉树概念 (哈夫曼树)
- 哈夫曼树(最优二叉树)
- 哈夫曼树(最优二叉树)
- 最优二叉树(哈夫曼树)
- 哈夫曼树(最优二叉树)
- 最优二叉树(哈夫曼树)
- 哈夫曼树--最优二叉树
- 哈夫曼树--最优二叉树
- 最优二叉树<哈夫曼树>
- 树之哈夫曼树(最优二叉树)
- 树:哈夫曼树(最优二叉树)
- 最优二叉树(哈夫曼树)知识点
- 哈夫曼树(最优二叉树)的创建
- 哈夫曼树与编码(最优二叉树)
- 霍夫曼树(哈夫曼树)(最优二叉树…
- 数据结构之哈夫曼树(最优二叉树)
- 最优二叉树或哈夫曼树
- 哈夫曼(最优二叉树)
- Lock同步锁完美搞定生产者与消费者死锁问题
- ubuntu安装Openblas
- 一次监控网络,linux杀毒经历
- 常用git命令
- ACM TOJ1292 排序
- 最优二叉树概念 (哈夫曼树)
- javascript笔记2017/8/21-跳转到子页,输入信息,返回到父页
- 较快入门postman,使用postman玩转接口测试 一
- php __call 与 __callStatic对比
- Dubbo+Zookeeper+Spring的demo--远程调用初探
- 工作流 快速启动
- 后缀式求值
- 【转载】AJAX
- RSA公钥、私钥生成,详细讲解