- 1、本文档共75页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构
北京邮电大学 信息安全中心
武 斌
上次课内容
上次课 (树和二叉树(上) )内容:
领会树和二叉树的类型定义,理解树和二叉树的
结构差别
熟记二叉树的主要特性,并掌握它们的证明方法
熟练掌握二叉树和树的各种存储结构及其建立的
算法
学会编写实现树的各种操作的算法
2
本次课程学习目标
学习完本次课程,您应该能够:
熟练掌握二叉树的各种遍历算法,并能灵活运
用遍历算法实现二叉树的其它操作
理解二叉树的线索化过程以及在中序线索化树
上找给定结点的前驱和后继的方法
学习树和森林的关系及转换方法
了解最优树的特性,掌握建立最优树和赫夫曼
编码的方法
3
遍历二叉树和线索二叉树
6.1 树的定义和基本术语
6.2 二叉树
6.3 遍历二叉树和线索二叉树
6.4 树和森林
6.5 赫夫曼树及其应用
4
遍历二叉树
一、遍历二叉树
对线性结构,只有一条搜索路径。而二叉树是非线性结构,
每个结点有两个后继,存在按什么样的搜索路径遍历的问题。
二叉树的一些应用常常要求在树中查找具有某种特征的结点,
或者对树中全部结点逐一进行某种处理。
由此引入了遍历二叉树的问题,即如何按某条搜索路径巡访
树中的每一个结点,使得每一个结点均被访问一次,而且仅被
访问一次。
a (根结点)
b c (右子树) 由二叉树的递归定义,二叉树的三个基本
组成单元是:根结点、左子树和右子树。
(左子树) 5
遍历二叉树
对二叉树而言,可以有三种遍历策略:
先上后下的按层次遍历;
先左 (子树)后右 (子树)的遍历;
先右 (子树)后左 (子树)的遍历。
6
遍历二叉树
假如以L、D、R分别表示遍历左子树、遍历根结点和遍历右子树,遍
历整个二叉树则有DLR、LDR、LRD、DRL、RDL、RLD六种遍历方
案。若规定先左后右,则只有前三种情况,分别规定为:
DLR——先 (根)序遍历,
LDR——中 (根)序遍历,
LRD——后 (根)序遍历。
第一次走到根结点即“访问”为“先
序遍历”,从左子树回来再“访问”
为“中序遍历”,从右子树回来再
“访问”为“后序遍历”。
演示
7
遍历二叉树
1、先序遍历二叉树的操作定义为:
若二叉树为空,则空操作;否则
文档评论(0)