二叉树的定义
二叉树T:一个有穷的结点集合。
- 这个集合可以为空
- 若不为空,则它是由根结点和称为其左子树TL和右子树TR的两个不相交的二叉树组成。
二叉树的具体五种基本形态
(a)空树
(b)只有一个根结点
(c)只有左子树
(d)只有右子树
(e)既有左子树又有右子树
- 二叉树的子树有左右顺序之分
特殊的二叉树
- 斜二叉树(Skewed Binary Tree)
- 完美二叉树(Perfect Binary Tree)
- 又称满二叉树(Full Binary Tree)
- 完全二叉树(Complete Binary Tree)
二叉树的几个重要性质
- 一个二叉树第i层的最大结点数为:2的i-1次方,i>=1。
- 深度为k的二叉树有最大结点总数为:2的k次方-1,k>=1(等比数列求和公式)
- 对任何非空二叉树T,若n0表示叶结点的个数、n2是度为2的非叶结点个数,那么两者关系n0=n2+1(n0+n1+n2=n0*0+n1*1+n2*2)
二叉树的抽象数据类型定义