注:树的内容非常重要,树是一种递归结构,注意递归遍历和非递归遍历都要会。
第五章 树与二叉树
 5.1 二叉树
 typedef struct BiTNode { //链式二叉树定义
 ElemType data; //数据域
 struct BiTNode *lchild, *rchild; //左、右孩子指针
 } BiTNode, *BiTree;
二叉树的操作
 二叉树的遍历 (递归)
先序遍历
 void PreOrder(BiTree T) {
 if (T != NULL) {
 visit(T); //访问根结点
 PreOrder(T->lchild); //递归遍历左子树
 PreOrder(T->rchild); //递归遍历右子树
 }
 }
中序遍历
 void InOrder(BiTree T) {
 if (T != NULL) {
 InOrder(T->lchild); //递归遍历左子树
 visit(T); //访问根结点
 InOrder(T->rchild); //递归遍历右子树
 }
 }
后序遍历
 void PostOrder(BiTree T) {
 if (T != NULL) {
 PostOrder(T->lchild); //递归遍历左子树
 PostOrder(T->rchild); //递归遍历右子树
 visit(T); //访问根结点
 }
 }










