定义二叉树(链式存储)
typedef struct BiTNode{
int 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);
}
}
求二叉树的高度
int TreeDepth(BiTree t){
if(t==NULL)
return 0;
else{
int l=TreeDepth(t->lchild);
int r=TreeDepth(t->rchild);
return l>r ? l+1:r+1;
}
}
|