-树的定义与基本性质
树:树是N(N≥0)个结点的有限集合,N=0时,称为空树。
在任意一棵非空树中应满足:
1.有且仅有一个特定的称为根的结点
2.当N>1时,其余结点可分为m(m>0)个互不相交的有限集合T1,T2,…,Tm,其中每一个集合本身又是一棵树,称为根结点的子树
显然树的定义是递归的,是一种递归的数据结构。树作为一种逻辑结构,同时也使一种分层结构,具有以下两个特点:
1.树的根结点没有前驱结点之外,所有结点有且仅有一个前驱结点
2.树的所有节点可以有零个或多个后继结点
由特点2可以推出,在n个结点的树中有n-1条边
基本术语
度:树中一个结点的子结点个数称为该结点的度,树中结点的最大度数称为树的度
分支结点:度大于0的结点称为分支结点(又称非终端结点)
叶子结点:度为0(没有子女结点)的结点称为叶子结点(又称终端结点)
树的高度(深度):树中结点的最大层数
有序树与无序树:树中结点的子树从左到右是有次序的,不能交换,这样的树叫做有序树,有序树中,一个结点其子结点按从左到右顺序出现时有关联的。反之称为无序树
路径与路径长度:树中两个结点之间的路径是由这两个结点之间所经过的结点序列构成的,而路径长度是路径上所经过的边的个数
森林:森林是m(m≥0)棵互不相交的树的集合
树的基本性质
1.树中结点数等于所有结点的度数加一
2.度为m的树中第i层上至多有m^i-1个结点
3.高度为h的m叉树至多有(m^h-1)/(m-1)个结点
4.具有n个结点的m叉树的最小高度为[logm(n(m-1)+1)]