1、二叉树的特点
- 每个结点最多两棵子树,所以二叉树中不存在大于2的结点。注意不是只有两棵子树,而是最多有。
- 左子树和右子树是有顺序的,次序不能任意颠倒。
- 即使树中某种结点只有一棵子树,也要区分它是左子树和右子树,如下图。
2、二叉树具有的五种基本形态
- 空二叉树。
- 只有一个根结点。
- 根结点只有左子树。
- 根结点只有右子树。
- 根结点既有左子树又有右子树。
3、二叉树的存储结构
二叉树的顺序存储结构就是用一维数组存储二叉树中的结点,并且结点的存储位置便是用数组的下标表示。
二叉树链表:因为二叉树中每个结点最多有两个孩子,所以二叉树链表有一个数据域和两个指针域。两个指针表示的是二叉树的每个结点的左孩子和右孩子。
typedef struct BiTNode
{
int data;
struct BiTNode *lchild,*rchild;//左右两个孩子;
}BiTNode,*BiTree;
下一篇介绍二叉树的遍历。