精选8根树.pptVIP

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
精选8根树

* 有序树(ordered tree) 有序树: 给相同层数的顶点标上次序的根树 1 1 1 1 1 2 2 3 2 2 * r叉树(t-ary tree) r叉树: ?v?V(T), d+(v)?r 正则(regular)r叉树: ?分支点v, d+(v)=r 完全(complete)正则r叉树: ?树叶v, L(v)=h(T) 有序r叉树,有序正则r叉树,有序完全正则 r叉树 * 定理1 定理1: 设正则r(?2)叉树T有i个分支点和t个树叶, 则(r-1)i=t-1. 证明: 当把一个树叶变为一个分支点时, 增加(r-1)个树叶, 所以 t=(r-1)i+b. 当t=1时间, i=0, 所以b=1. 所以t=(r-1)i+1. # 证法2: 数学归纳法 * 应用举例1 墙上只有1个电源插孔,每个接线板有r个插孔,有t台计算机,至少需要多少个接线板? (r-1)i≥t-1 i ≥ (t-1)/ (r-1) * 应用举例2 例:一台三地址计算机,用一个加法指令可求三个数之和,现要计算12个数之和,至少要几次加法指令? 解: (m-1)i≥t-1 (3-1)i≥12-1=11 i≥11/2=5.5 i=6,但这种树不唯一,见图示。 * 对应不同的树 * 根子树(rooted subtree) 根子树: T是根树, v?V(T), 由v本身及其所有后代导出的子图Tv 左子树,右子树: 二叉树中分支点的左右两个儿子导出的根子树 * 带权二叉树 带权二叉树: 每个树叶vi都指定实数权wi 带权二叉树的权: W(T)=?ti=1wiL(vi), 树叶是v1,v2,…,vt, 对应的层数是L(v1),L(v2),…, L(vt) 7 8 5 2 3 W(T)=55. # * 最优二叉树 最优二叉树: 树叶权为w1,w2,…,wt的所有二叉树中权最小的一个(不唯一) 求最优二叉树的算法: Huffman算法 7 8 2 3 5 7 8 5 2 3 W(T)=55. # W(T)=57. # * Huffman算法 输入: 实数w1,w2,…,wt, 输出: 树叶权为w1,w2,…,wt的最优二叉树 算法: 1. 选择最小的2个权w1,w2, 连接对应的树叶得到权为w1+w2的分支点 2. 选择w1+w2 ,w3,w4, …,wt中最小的2个权, 连接对应顶点得到新的分支点和权 3. 同上重复进行, 直到只剩1个权为止 * Huffman算法(举例) 例: 2,3,5,7,8 解: 2,3,5,7,8 // 5,5,7,8 // 10,7,8 // 10,15 // 25 // 25 7 8 15 5 10 2 3 5 W(T)=55. # * Huffman算法(正确性) 定理1: 在带权为w1?w2?…?wt的所有最优树中,一定有一棵最优树满足: 设带权w1,w2的顶点是v1,v2, (1) v1,v2是兄弟 (2) v1,v2的层数是树高h 证明:最优树一定是正则树. 经过适当调换顶点, 一定可以满足要求. # * Huffman算法(正确性) 定理2(Huffman): 设T’是带权为w1+w2,w3,…,wt的最优二叉树, 其中w1?w2?…?wt, 若把带权为w1+w2的树叶作为分支点, 让2个儿子带权分别为w1,w2,记所得树为T*, 则T*是带权为w1,w2, w3,…,wt的最优二叉树. # 推广的Huffman算法: 最优r叉树. * 通讯编码 Shannon, 有噪声信道的可靠通信: 编码 信息就是不确定性的消除: 熵 比特(bit): binary information unit 例: {0,1,2,…,7}, log28=3, 编码为 000,001,010,…,111 000111010101译为0725 * 不等长编码 若{0,1,2,…,7}出现频率不一样,则出现频率高的用短码字 例: 频率递减: 0,1,2,3,4,5,6,7, 编码为 0,1,00,01,10,11,000,001. 若收到000111, 不能唯一解码: 651, 235, 075,…等. 原因: 码字互为前缀,如00是001的前缀 * 前缀码(prefix code) 前缀码: 码字互相不为前缀的不等长编码 前缀码与二叉树对应 例:{0,1,2,3}编码为 {00,010,011,1} 收到000111,译为 023 0 0 0 1 1 1 00 010 011 1 * 最佳前缀码 最佳前缀码: 给定信号出现频率, 平均码字长度最短的前缀码 平均码字长度: 码字长度乘以频率,

您可能关注的文档

文档评论(0)

rovend + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档