树型结构是重要的非线性数据结构。
其中的以树和二叉树最为常用,直观来看,树是以分支关系定义的层次结构。重点把握树的定义以及树的各种操作,另外树、森林、二叉树的转换也需要把握,后面将会有树与图关系。
树是一个有限集合,n大于等于0;有且仅有一个特定的点称为根,其余的则为根的子树。
树的ADT,参考书籍《数据结构》。
树的结点包含一个数据元素及若干指向其子树的分支,结点拥有的子树数称为结点的度。结点的层次从根的定义开始,根为第一层以此类推,同一层的结点称为兄弟。如果把子树从左到右看成是有次序的,那称树为有序树,反之,则为无序树。所以根的最左边的子树为根的第一个孩子。
森林,是由m(m>=0)棵互不相交的树的集合。
二叉树
二叉树是树的一种范畴。特点是每个结点最多只有两棵子树,即是度不大于2的树,而且树有左右之分。BinaryTree。
在二叉树的第i层,之多有2^i -1个结点。
深度为k的二叉树至多有2^k - 1个结点。