4树第三部分.pdf

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

树 树的定义和基本概念 二叉树定义和基本概念 遍历二叉树 线索二叉树 树、森林与二叉树的转换 赫夫曼树及其应用 数据结构 线索二叉树 线索二叉树的定义 二叉树的线索化 线索二叉树的遍历 数据结构 线索二叉树 T A A B C B ⋀ C ⋀ D ⋀ E ⋀ F D E F ⋀ G ⋀ ⋀ H ⋀ ⋀ I ⋀ G H I 二叉树 二叉链表存储结构  提出问题: ① 共有n+1个空指针域。如何充分利用空指针域? ② 如何保存二叉树中每个结点在线性序列中的直接前驱和直接后继? • 遍历二叉树以一定规则将二叉树中结点排列成一个线性序列,得到二叉树中结点的前 序序列、中序序列或后序序列。 • 对一个非线性结构进行线性化操作,使每个结点(除首尾)在线性序列中有且仅有一 个直接前驱和直接后继。 数据结构 3 数据结构 线索二叉树 解决办法:利用二叉链表的空闲指针域来存放结点的直接前驱和 直接后继。 • 指向结点前驱和后继的指针,叫做线索; • 按照某种次序遍历,加上线索的二叉链表,叫做线索链表; • 相应的二叉树称为线索二叉树。 • 对二叉树以某种次序遍历使其变为线索二叉树的过程,叫 做线索化。 数据结构 线索二叉树 以中序遍历为例,若能将中序序列中每个结点前驱、后继信息保存起来, 以后再中序遍历二叉树时就可以根据所保存的结点前驱、后继信息对二叉 树进行遍历。 A 孩子指针 前趋指针 B C 后继指针 D E F G H 线索二叉树 中序遍历序列:DBHEAFCG 在中序序列中,D的后继是B,H的前趋是B,后继是E… 数据结构 线索二叉树  若结点有左孩子,则Lchild指向其左孩子,否则指向其直接 前驱;  若结点有右孩子,则Rchild指向其右孩子,否则指向其直接 后继; 问题:如何知道某一结点的Lchild是指向左孩子还是前驱? Rchild是指向右孩子还是后继? 解决:增加两个标志域Ltag ,Rtag 。 Lchild Ltag data Rchild Rtag 0:Rchild域指示结点的右孩子 0:Lchild域指示结点的左孩子 Rtag = Ltag = 1:Rchild域指示结点的后继 1:Lchild域指示结点的前驱 数据结构

文档评论(0)

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

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档