第四章树的概念和二叉树吉林大学计算机学院谷方明fmgu2002@sina
1树的基本概念树是一种非常重要的非线性数据结构,可用来描述客观世界中中广泛存在的具有分支或层次关系的对象
树的定义(递归版)定义4
1:一棵树(或树形)是一个有限非空的结点集合T,其中:1
有一个被称为根的结点,记为root(T);2
其余结点被分成m0个不相交的集合T1,T2,…,Tm,且T1,T2,…,Tm又都是树
树T1,T2,…,Tm称作root(T)的子树,每一棵子树的根都和root(T)有一条边连接
AECDBIHGF定义4
2(非递归版)树是包含n(n≥1)个结点有限集合,满足如下条件:1
存在一个唯一的结点v0,没有前驱结点,称为树的根(或根结点);2
任一非根结点都有且仅有一个前驱结点,称为该结点的父结点;(任何结点都可能有零或多个后继结点,称之为该结点的子结点)3
任一非根结点vk都有且仅有一条从v0到该结点的路径:v0v1…vk,其中vi是vi1(1ik)的子结点
树的相关术语1
度一个结点的子结点的数目,称为该结点的度
一棵树的度为maxi=1,…,nD(i),其中n为树中结点总数,i指树中的第i个结点,D(i)表结点i的度
叶结点、分支结点度为0的结点被称为叶结点;度大于0的结点被称为分支结点
结点的层数⑴root(T)层数为零;⑵其余结点的层数为其前驱结点的层数加1;4
树的高度树的高度是指树中结点的最大层数,即maxi=1,…,nNL(i),其中n为树中结点总数,i指树中第i个结点,NL(i)之值为结点i的层数
路径若树T中存在结点序列v1v2…vk,满足(vi,vi+1)是树的边,则称此结点序列为v1到vk的路径
路径所经历的边数被称为路径长度
子孙结点、祖先结点、兄弟结点一棵树中若存在结点vm到vn的路径,则称v