访问根结点、遍历右子树-数据结构.ppt
第6章 树和二叉树;第6章 树和二叉树;6.1 树的定义与基本术语;6.1 树的定义与基本术语;例如:一棵树的逻辑结构图(6.1)为:;2.树的图解表示法 ;3.树的相关术语:;双亲结点:一个结点的直接前驱称为该结点的双亲结点。上图中A是B、C的双亲。;4.树的抽象数据类型;基本操作:;基本操作:;6.2 二叉树;6.2.1 二叉树的定义与基本操作;二叉树的基本操作:;基本操作:;6.2.2 二叉树的性质;性质2:深度为k的二叉树至多有2k-1个结点(k≥1)。 ;性质3:对任意一棵二叉树T,若终端结点数为n0,而其度数为2的结点数为n2,则n0= n2+1 。;两种特殊的二叉树:;完全二叉树:;性质4:具有n个结点的完全二叉树的深度为?㏒2n?+1。 ;性质5:对于具有n个结点的完全二叉树,如果按照从上到下和从左到右的顺序对二叉树中的所有结点从1开始顺序编号,则对于任意的序号为i的结点有: ;6.2.3 二叉树的存储结构;1.顺序存储结构:是用一组连续的存储单元来存放二叉树的数据元素 。; 对于一般的二叉树,我们必须按照完全二叉树的形式来存储,就会造成空间的浪费。单支树就是一个极端情况。;2. 链式存储结构; ;证明:;6.3 二叉树的遍历与线索化;6.3 二叉树的遍历与线索化;用L、D、R分别表示遍历左子树、访问根结点、遍历右子树,那么对二叉树的遍历顺序就可以有:;在以上六种遍历方式中,如果我们规定按先左后右的顺序,那么就只剩有 DLR 、LDR 和LRD三种。根据对根的访问先后顺序不同,分别称DLR为先序遍历或先根遍历;LDR为中序遍历(对称遍历);LRD为后序遍历。 ;三种遍历方法的递归定义:;若二叉树为空,则空操作,否则依次执行如下操作:
①按中序遍历左子树;
②访问根结点;
③按中序遍历右子树。
;(3)后序遍历(LRD)操作过程:;对于如下图的二叉树,其先序、中序、后序遍历的序列为:
先序遍历: A、B、D、F、G、C、E、H 。
中序遍历: B、F、D、G、A、C、E、H 。
后序遍历: F、G、D、B、H、E、C、A 。 ;以二叉链表作为存储结构,讨论二叉树的遍历算法;2) 中序遍历;3) 后序遍历;以中序遍历为例来说明中序遍历二叉树的递归过程;6.3.2 遍历算法应用;2.输出二叉树中的叶子结点;3.???计叶子结点数目;【算法思想】采用递归算法,如果是空树,返回0;如果只有一个结点,返回1;否则为左右子树的叶子结点数之和。 ;4.建立二叉链表方式存储的二叉树;5.求二叉树的高度;【算法思想】二叉树bt的高度可以递归定义如下:
l? 若bt为空,则高度为0
l??若bt非空,其高度应为其左右子树高度的最大值加1 ;求二叉树的高度是也可用前序遍历的方式实现。 ;6. 按树状打印的二叉树;【算法思想】
(1)二叉树的横向显示应是二叉树竖向显示的90。旋转。分析图6.15图示可知,这种树形打印格式要求先打印右子树,再打印根,最后打印左子树,按由上而下顺序看,其输出的结点序列为:CFEADB,这恰为逆中序顺序。解决二叉树的横向显示问题采用“逆中序”遍历框架,所以横向显示二叉树算法为先右子树、再根结点、再左子树的RDL结构。
(2)在这种输出格式中,结点的左右位置与结点的层深有关,故算法中设置了一个表示当前根结点层深的参数,以控制输出结点的左右位置,每当递归进层时层深参数加1。这些操作应在访问根结点时实现。;6.3.3 基于栈的递归消除;void inorder(BiTree root);
{int i=0; p=bt;
L1: if (p!=NULL) /* 遍历左子树 */
{top=top+2;
if(topm);
s[top-1]=p; /* 本层参数进栈 */
s[top]=L2; /* 返回地址进栈 */
p=p-LChild; /* 给下层参数赋值 */
goto L1; /* 转向开始 */
L2: Visit(p-data); /* 访问根 */
top=top+2;
if(topm);
s[top-1]=p; /* 遍历右子树 */ ; s[top]=L3;
p=p-RChild;
goto L1;
}
L3: if(top!=0)
{ addr=s[top];
p=s[
您可能关注的文档
- 视图特征.ppt
- 视觉传达系.doc
- 视觉大挑战.ppt
- 视障_黄雪芳.ppt
- 视频点播直播合同027-济南市市中区政府采购信息网.doc
- 角平分线上的精灵.doc
- 解在t时刻回路中感应电动势。.ppt
- 解析几何-重庆师范大学-数学学院.doc
- 解答参考.doc
- 解设这个多边形的边数为n.ppt
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
原创力文档

文档评论(0)