一、考试内容:
1,树和二叉树的定义;
树是一种重要的非线性结构,为具有层次关系和分类关系的数据,提供表示方法。
运用:数据库系统中,用树来组织信息;编译程序中,用树表示源程序的语法结构。
非线性结构特点:每个结点都不只有一个直接前驱和一个直接后继,这些数据结点按分支关系组织起来,清晰地反映了数据元素之间的层次关系。
树(Tree):是n(n≥0)个结点的有限集合,在任一棵树中,有以下两个特性:
1)有且仅有一个特定的称为根(Root)的结点;
2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,…,Tm,其中每一个集合本身又是一棵树,并且称为根的子树(Subtree)。树的定义是递归的。
常用术语&相关概念
- 1、结点的度(degree):该结点拥有的子树的个数。
- 2、叶子或终端结点(leaf):度为0的结点。
- 3、非终端结点或分支结点:度不为0的结点。(除叶子结点)
- 4、树的度:树中各结点度数的最大值。
- 5、树的深度(Depth):树中结点的最大层次。
- 6、森林(Forest):是m(m≥0)棵互不相交的树的集合。对树中的每个结点而言,其子树的集合即为森林。
- 7、满二叉树:一棵深度为k且有2k-1个结点的二叉树称为满二叉树。这种树的特点是每一层上的结点数都
- 是最大结点数。 对满二叉树的结点可以从根结点开始自上向下,自左至右顺序编号。
- 8、 完全二叉树:深度为k,有n个结点的二叉树,当且仅当每个结点的编号正好与深度为k的满二叉树中编号从1到n的结点一一对应时,称之为完全二叉树。 特点:1)叶子结点只可能在层次最大的两层上出现; 2)对任一结点,若其右分支下的子孙的最大层次为l,则其左分支下的子孙的最大层次必为l或l+1。