数据结构ppt5自研练习
树的定义与术语
家谱,行政组织机构
编译程序中,用树来表示源程序的语法结构
数据库系统中,用树来组织信息
在分析算法的行为时,可以用树来描述其执行过程
父子关系,兄弟姐妹,后代,祖先
组织管理机构,上下级,下属
政府机构,国防部,教育部
整体部分关系 吉林大学 人文部 文学院
模块化结构关系 软件工程中的模块化技术:
通过模块化,把大的复杂的任务分成一组小的不算复杂的任务:
文字处理器,文件,字体,导入,光标
树的定义
一棵树是一个有限结点的结点集合T,若T空,则为空树
1.有一个根节点
2.其余结点都是不想交非空集合,都称为root(T)的子树
路径长度 A-B-E-F长度为3
有序树
子树T的相对次序被指明,则为有序树,否则为无序树,Ti称为根的第i个子树
线性结构和树结构比较:除了叶子结点和根节点,其他结点,树可能有多个后继
相关术语
-
度
结点子节点个数,用D[i]表示 -
分支节点
度>0的节点,可以说非叶节点 -
树的度
整棵树所有节点最大的度 -
节点的层数
根结点层数为0,其他陆续加一 -
边
节点之间的线 -
路径长度
从上到下经过边数量
从根结点到某结点的路径长度为该结点的层数 -
子孙结点、祖先结点
存在?到?路径,决定祖先和子孙
树的高度
NL(i)是层数,最大层数是高度
二叉树的定义
二叉树
- 空集
- 一个根和两颗不相交的左右子树二叉树构成
二叉树有五种形态
- 空
- 一个根
- 根加左子树
- 根加右子树
- 根加左右子树
二叉树的特征
- 二叉树每个结点最多俩结点
- 二叉树有左右
二叉树与树的主要区别
二叉树的子树有左右之分,即使某结点只有一个子树也要指明是左边还是右边
含有三个结点的二叉树形态
有五种
含有三个结点的树的形态
俩种
含有n个结点的二叉树有多少种形态
二叉树的性质
- 二叉树中层数为i的结点至多有 2 i 2^i 2i
- 高度为k的二叉树至少有
k
+
1
k+1
k+1个结点
4个结点最多高度为3 - 高度为k的二叉树至多有2^(k+1)-1个结点,1+……+ 2 k 2^k 2k=这个
- 叶子结点个数为n0,度为2的结点个数为n2则 n0=n2+1
度为0,1,2的结点个数分别为n0+n1+n2=n
e=n-1;子节点和父节点的链接
e=2n2+n1;所有发出分支的结点
联立:n0=n2+1
满二叉树
每一层都充满结点达到最大结点数
满二叉树特点
- 叶结点都在第k层
- 每个分支结点都有俩子节点
- 叶结点的个数等于非叶结点的个数加1;n0=n2+1
完全二叉树
高度相同的满二叉树和完全二叉树
- 满二叉树按照层次编号
- 完全二叉树所有结点对应满二叉树前n个结点
除最后一层外每一层都满
完全二叉树特点
- 最下面俩层结点的度小于二
- 最下面一层结点都集中在该层最左边的若干位置上
- 叶子结点只在最后俩层出现
- 层次顺序最右边的结点可以没有右孩子