简介:树和二叉树的性质,遍历操作,转换,存储结构和操作特性等;满二叉树,完全二叉树,线索二叉树,哈夫曼树的定义和性质,二叉排序树和二叉平衡树的性质和操作。
4.1树的基本概念
4.1.1树的定义
树是N(N>=0)个结点的有限集合,N=0时,称为空树,这是一个特殊情况。在任意一颗非空树中应满足:
1)有且仅有一个特定的称为根结点。
2)当N>1时,其余结点可分为m(m>0)个互不相交的有限集合T1,T2,...........Tm,其中每一个集合本身又是一棵树,并且成为根结点的子树。
显然树的定义是递归,是一种递归的数据结构。树作为一种逻辑结构,同时也是一种分层结构,具有以下两个特点:
1)树的根结点没有前驱结点,除根结点之外的所有结点有且只有一个前驱结点。
2)树中所有结点可以有0个或多个后继结点。
4.1.2基本术语
度大于0的结点称为分支结点;度为0的结点称为叶子结点(又称终端结点)。在分支结点中,每个结点的分支就是该结点的度。
有序树和无序树:树中结点的子树从左到右是有次序的,不能交换,这样的树叫有序树。反之称无序树。
6)路径长度和路径:树中两个结点之间的路径是由这两个结点之间所经过的结点序列构成的,而路径长度是路径上所经过的边的个数。
注意:由于树中的分支是有向的,即从双亲结点指向孩子结点,所以树中的路径是从上向下的,同一双亲结点的两个孩子结点不存在路径。
4.1.3树的性质
树具有如下最基本的性质:
1)树中的结点数等于所有结点的度数加1;
2)度为m的树中第i层上最多有m的i-1次方个结点。