第14章 二叉树及其应用课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第14章 二叉树及其应用课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第14章 二叉树及其应用课件 14 二叉 及其 应用 课件
- 资源描述:
-
1、第第1414章章 二叉树及其应用二叉树及其应用 1 1本章主要内容本章主要内容 树的概念树的概念 关于树的一些术语及特性关于树的一些术语及特性 二叉树的特点与数学性质二叉树的特点与数学性质 二叉树的基本操作及其实现二叉树的基本操作及其实现 二叉树的应用二叉树的应用2 2 树是由一个集合以及在该集合上定义树是由一个集合以及在该集合上定义的一种关系构成的。集合中的元素称为的一种关系构成的。集合中的元素称为树的结点,所定义的关系称为父子关系。树的结点,所定义的关系称为父子关系。父子关系在树的结点之间建立了一个层父子关系在树的结点之间建立了一个层次结构。在这种层次结构中有一个结点次结构。在这种层次结构
2、中有一个结点具有特殊的地位,这个结点称为该树的具有特殊的地位,这个结点称为该树的根结点,或简称为树根。根结点,或简称为树根。14.1 树的概念树的概念 3 34 4结点的度:一个结点的子结点的个数称结点的度:一个结点的子结点的个数称为该结点的度。一棵树的度是指该树中为该结点的度。一棵树的度是指该树中结点的最大度数。结点的最大度数。终端结点:树中度为零的结点称为终端终端结点:树中度为零的结点称为终端结点,树中度不为零的结点称为分枝结结点,树中度不为零的结点称为分枝结点或非终端结点。除根结点外的分枝结点或非终端结点。除根结点外的分枝结点统称为内部结点。点统称为内部结点。14.2 关于树的一些术语及
3、特性关于树的一些术语及特性 5 5路径:如果存在树中的一个结点序列路径:如果存在树中的一个结点序列K1,K2,.,Kj,使得结点,使得结点Ki是结点是结点Ki+1的父的父结点结点(1ij),则称该结点序列是树中,则称该结点序列是树中从结点从结点K1到结点到结点Kj的一条路径或道路。的一条路径或道路。结点高度:树中一个结点的高度是指从结点高度:树中一个结点的高度是指从该结点到作为它的子孙的各叶结点的最该结点到作为它的子孙的各叶结点的最长路径的长度。树的高度是指根结点的长路径的长度。树的高度是指根结点的高度。高度。6 6层:从树根到任一结点层:从树根到任一结点n有惟一的一条路有惟一的一条路径,这条
4、路径的长度称为结点径,这条路径的长度称为结点n的深度或的深度或层数。层数。有序树:树的定义在某些结点之间确定有序树:树的定义在某些结点之间确定了父子关系(可延拓为祖先子孙关系)。了父子关系(可延拓为祖先子孙关系)。但是树中兄弟结点之间就没有祖先子孙但是树中兄弟结点之间就没有祖先子孙关系。若在树的每一组兄弟结点之间定关系。若在树的每一组兄弟结点之间定义一个从左到右的次序,则得到一棵有义一个从左到右的次序,则得到一棵有序树;否则称为无序树序树;否则称为无序树 7 714.3 二叉树的特点与数学性质二叉树的特点与数学性质 二叉树的定义二叉树的定义二叉树是一种特殊的树型结构,其每个二叉树是一种特殊的树
5、型结构,其每个节点最多只有两个子树节点最多只有两个子树二叉树是结点的有限集合,该集合或是二叉树是结点的有限集合,该集合或是空集,或是一个根空集,或是一个根特点:特点:每一个结点至多有两个后继结点,且有每一个结点至多有两个后继结点,且有左右之分,不能任意交换,这些结点分别称左右之分,不能任意交换,这些结点分别称为左子树,右子树。为左子树,右子树。8 814.3.1 二叉树的特点二叉树的特点 9 9(a)只有左子树只有左子树(b)只有右子树只有右子树 101014.3.2 两种特殊形态的二叉树两种特殊形态的二叉树 满二叉树满二叉树 一棵高度一棵高度为为n0且有且有2n+1-1个个结点的二结点的二叉
6、树称为叉树称为满二叉树满二叉树 1111近似满二叉树近似满二叉树 若一棵二叉若一棵二叉树至多只有树至多只有最下面的两最下面的两层结点的度层结点的度数小于数小于2,并,并且最下面一且最下面一层结点都集层结点都集中在该层的中在该层的最左边,则最左边,则称这种二叉称这种二叉树为近似满树为近似满二叉树二叉树(有时有时也称为完全也称为完全二叉树二叉树)。1212非近似满二叉树非近似满二叉树 在近似满在近似满二叉树中,二叉树中,若某个结若某个结点没有左点没有左儿子,则儿子,则它一定没它一定没有右儿子,有右儿子,即该结点即该结点是一个叶是一个叶结点结点 131314.3.3 二叉树的数学性质二叉树的数学性质
7、 高度为高度为n0的二叉树至少有的二叉树至少有n+1个结点个结点高度不超过高度不超过n(0)的二叉树至多有的二叉树至多有2n+1-1个结点个结点含有含有n1个结点的二叉树的高度至多为个结点的二叉树的高度至多为n-1,至少为,至少为lg(n)141414.4二叉树的基本操作及其实现二叉树的基本操作及其实现 1515二叉树的常用操作如下:二叉树的常用操作如下:InitTree(&T):构造一棵空二叉树;:构造一棵空二叉树;DestroyTree(&T):销毁一棵二叉树;:销毁一棵二叉树;Parent(T,e):返回二叉树:返回二叉树T中中e结点的父结结点的父结点,若不存在则返回点,若不存在则返回“
8、空空”;LeftChild(T,e):返回二叉树:返回二叉树T中中e结点的左结点的左儿子结点,若不存在则返回儿子结点,若不存在则返回“空空”;RightChild(T,e):返回二叉树:返回二叉树T中中e结点的结点的右儿子结点,若不存在则返回右儿子结点,若不存在则返回“空空”;Value(T,e):返回二叉树:返回二叉树T中中e结点的值;结点的值;Root(T):返回二叉树:返回二叉树T的根结点。的根结点。14.4.1 二叉树的基本操作二叉树的基本操作 16161 二叉树的顺序存储结构二叉树的顺序存储结构#define MAXLENGTH 255#define TYPE intstruct T
展开阅读全文