递归算法:
int Btdepth2(BiTree T) { if(T==NULL) return 0; ldep=Bdepth(T->lchild); rdep=Bdepth(T->rchild); if(ldep>rdep) return ldep+1; else return rdep+1; }非递归算法
int Btdepth(Bitree T) { if(!T) return 0; int front=-1,rear=-1; int last=0,level=0; BiTree Q[Maxsize]; Q[++rear]=T; BiTree p; while(front<rear) { p=Q[++front]; if (p->lchild) Q[++rear]=p->lchild; if(p->rchild) Q[++rear]=p->rchild; if(front=last) { level++; last=rear; } } return level; }