第讲树和二叉树答案.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构 主讲人:陈红丽 知识点回顾 二叉树的遍历算法 递归算法 非递归算法 递归遍历算法的应用 二叉树的叶子数目 二叉树的深度 二叉树的建立 线索二叉树 线索链表:增加了线索的二叉链表 线索二叉树:加上线索的二叉树 线索化:对二叉树以某种次序遍历使其变为线索二叉树的过程 线索二叉树 线索:指向某种遍历序列中的“前驱”和 “后继” 的指针 悬空? 悬空? 为避免悬空态,应增设一个头结点 例:画出以下二叉树对应的中序线索二叉树。 解:该二叉树中序遍历结果为: H, D, I, B, E, A, F, C, G 所以添加线索应当按如下路径进行: lchild LTag data RTag rchild 存储结构: 第13讲 5.6 树和森林 实现树的存储结构,关键是什么? 如何表示树中结点之间的逻辑关系。 思考问题的出发点 如何表示结点的双亲和孩子 双亲表示法 孩子表示法 双亲孩子表示法 孩子兄弟表示法 孩子兄弟表示法 ---- 二叉链表表示法 逻辑结构 存储结构 用二叉链表作为树的存储结构。结点的两个指针域分别指向该结点的第一个孩子结点和右边的下一个兄弟结点。 typedef struct CSNode{ TElemType data; struct CSNode * firstchild; struct CSNode * nextsibling; }CSNode;//结点结构 typedef CSNode * CSTree; //树 存储结构 二叉链表表示法 长兄为父 C F K H G B R A D E 二叉树 1.加线 兄弟相连 2.删线(保留双亲与第一孩子连线,删去与其他孩子的连线) 3.调整(顺时针转动,使之层次分明) 孩子靠左 树与二叉树的转换 练习题:请把下图的树转换成相应的二叉树。 图1 图2 讨论:二叉树怎样还原为树? 左孩右右连双亲,去掉原来右孩线 要点:树变二叉逆操作,把所有右孩子变为兄弟 树和二叉树的转换 树变二叉--兄弟相连留长子,孩子靠左 二叉变树--左孩右右连双亲,去掉原来右孩线 森林和二叉树的转换 森林变二叉--树变二叉留头根 (a)森林 (b)每棵树对应的二叉树 (c)头根为根 (d)整理, 最终二叉树 要点:把最右边的子树变为森林,其余右子树变为兄弟 练习题: 请画出和下列二叉树对应的森林。 E I J F A D C G 树的遍历 先根、后根 层次 先根遍历 树非空,则 访问根结点; 按照从左到右依次先根遍历根结点的每棵子树 后根遍历? 树没有中序遍历(因子树不分左右) A C B G F E D H I 先根遍历序列: 后根遍历序列: A B D E H I F C G D H I E F B G C A 树与转换的二叉树的遍历的对应关系? 树的遍历 先根遍历序列: 后根遍历序列: A B D E H I F C G D H I E F B G C A 树与转换的二叉树的遍历的对应关系? 树的遍历 I H F E D G C B A A B D E H I F C G D H I E F B G C A 森林的2种遍历方法: 先序遍历森林:若森林非空,则依次从左至右对森林中的每一棵树进行先根遍历。 中序遍历森林:若森林非空,则依次从左至右对森林中的每一棵树进行后根遍历。 结论: 森林的先序遍历序列与转换后的二叉树的先序遍历序列相同 森林的中序遍历序列与转换后的二叉树的中序遍历序列相同 森林的遍历 5.7 哈夫曼树及其应用 在远程通讯中,要将待传字符转换成二进制的字符串,怎样编码才能使它们组成的报文在网络中传的最快? 待传输的报文: CATCATTCPPCTCAC 等长编码:C:00 A:01 T:10 P:11 报文为:“000110000110100011110010000100” 不等长编码:C:0 A:00 T:1 P:01 报文为:“00010001100101010000” C A T P 6 3 4 2 频率越大编码越短 CATCATTCPPCTCAC 0001100101010000 C:0 A:00 T:1 P:01 要设计不等长编码,则必须使任一字符的编码都不是另一个字符的编码的前缀 ----前缀编码 0 1 0 0 C C P A P 结点的带权路径长度:从该结点到树根之间的路径长度与结点上权的乘积。 树的带权路径长度:树中所有叶子结点的带权路径长度之和。记作:WPL= ?wk ? Lk (k=1.. n) 哈夫曼

文档评论(0)

贪玩蓝月 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档