[语文]第6章 树和二叉树.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[语文]第6章 树和二叉树

归纳法证明: 1)i=1时,指的根结点,有2=2*1是其左孩子,3=2*1+1是根的右孩子; 2)如果对于第k层的结点i,满足有左孩子为2i,右孩子2i+1; “遍历”是二叉树各种操作的基础,可以在遍历过程中对结点进行各种操作,例如在遍历过程中生成结点,建立二叉树的存储结构 只知道先序字符ABCDEGF能否建立二叉树? 根据中序遍历和先序遍历(或后序遍历才能确定一棵二叉树) 先序:ABCDEFGHK 中序:BDCAHGKFE 后序:DCBHKGFEA 线索二叉树 何谓线索二叉树? 线索链表的遍历算法 如何建立线索链表? 后继线索树中找结点后继 若结点x是二叉树的根 与双亲表示法相反,孩子表示法便于涉及孩子的操作,所以我们可以把孩子表示法和双亲表示法结合起来 最优二叉树的定义 如何构造最优二叉树 赫夫曼编码 2009年考研 1.给定二叉树图所示。设 N 代表二叉树的根,L代表根结点的左子树,R代表根结点的右子树。若遍历后的结点序列为 3,1,7,5,6,2,4,则其遍历方式是( ) A.LRN?B.NRL?C.RLN?D.RNL 2.已知一棵完全二叉树的第6层(设根为第 1 层)有8个叶结点,则完全二叉树的结点个数最多是( ) A.39?B.52?C.111?D.119 3. 将森林转换为对应的二叉树,若在二叉树中,结点 u 是结点 v 的父结点的 父结点,则在原来的森林中,u 和 v 可能具有的关系是 ( ) I.父子关系? II.兄弟关系 III. u 的父结点与 v 的父结点是兄弟关系 A.只有 II?B.I 和 II?C.I 和 III?D.I、II 和 III 树的遍历和二叉树遍历的对应关系? 先根遍历 后根遍历 树 二叉树 森林 先序遍历 先序遍历 中序遍历 中序遍历 一、赫夫曼树(最优二叉树)的定义 树的路径长度:从树根到每个结点的路径长度之和。 路径长度:路径上的分支数目。 路径:从树中一个结点到另一个结点之间的分支构成两个结点之间的路径. 结点的带权路径长度:从该结点到树根之间的路径长度与结点上权的乘积. 树的带权路径长度: 树中所有叶子结点的带权路径长度之和 WPL= ?wklk (对所有叶子结点) 最优二叉树(赫夫曼树):带权路径长度WPL最小的二叉树。 K=1 n 2 7 9 7 5 4 9 2 WPL(T)= 7?2+5?2+2?3+4?3+9?2 =60 WPL(T)= 7?4+9?4+5?3+4?2+2?1 =89 5 4 树的带权路径长度 根据给定的 n 个权值 {w1, w2, …, wn}, 构造 n 棵二叉树的集合 F = {T1, T2, … , Tn}, 其中每棵二叉树中均只含一个带权值为 wi 的根结点,其左、右子树为空树; 二、如何构造最优二叉树 (1) (赫夫曼算法) 以二叉树为例: 在 F 中选取其根结点的权值为最小的两棵二叉树,分别作为左、右子树构造一棵新的二叉树,并置这棵新的二叉树根结点的权值为其左、右子树根结点的权值之和; (2) 从F中删去这两棵树,同时加入 刚生成的新树; 重复 (2) 和 (3) 两步,直至 F 中只 含一棵树为止。 (3) (4) 9 例如: 已知权值 W={ 5, 6, 2, 9, 7 } 5 6 2 7 5 2 7 6 9 7 6 7 13 9 5 2 7 6 7 13 9 5 2 7 9 5 2 7 16 6 7 13 29 0 0 0 0 1 1 1 1 00 01 10 110 111 电文’ABACCDA’,有四种字符,只需要两个字符的串就可以分辨。 设A、B、C、D的编码分别为00、01、10、11,则上述7个字符的电文为’00010010101100’共14位。 让电文中出现次数较多的字符采用尽可能短的编码,则电文的总长便可减少。 如果设计A、B、C、D的编码分别为0、00、1、01,则上述7个字符的电文可转换为总长为9的字符串‘000011010’,但是此电文无法翻译,有多种译法。 因此,若要设计长短不等的编码,则必须是任一字符的编码都不是另一个字符的编码的前缀。 任一个字符的编码都不是同一字符集中另一个字符的编码的前缀。 前缀编码: 利用赫夫曼树可以构造一种不等长的二进制编码,并且构造所得的赫夫曼编码是一种最优前缀编码,使所传电文的总长度最短。 4 7 5 2 4 7 5 2 6 11 18 rchild lchild parent weight 7 6 5 4 3

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档