您的位置:首页 > 其它

二叉树遍历算法的应用

2016-08-08 10:29 281 查看
先序遍历创建二叉链表

算法描述

void CreateBiTre(BiTree &T){

//按先序顺序输入二叉树中结点的值(一个字符),创建二叉链表表示的二叉树T

cin>>ch;

if(ch==’#’)

T==NULL;

else{

T=new BiTNode;

T->data=ch;

CreateBiTree(T->lchild);

CreateBiTree(Tlchild);

}

}

复制二叉树

算法描述

void Copy(BiTree T,BiTree &NewT){

if(T==NULL){

NewT=NULL;

return;

}

else{

NewT=new BiTode;

NewT->data=T->data;

Copy(T->lchild,NewT->child); //递归复制左子树

Copy(T->rchild,NewT->rchild);//递归复制右子树

}

}

计算二叉树的深度

算法描述

int Depth(BiTree T){

if(T==NULL)

return 0;

else{

m=Depth(T->lchild); //递归计算左子树的深度,记为m

n=Depth(T->rchild); //递归计算右子树的深度,记为n

if(m>n) return m+1;

else return n+1;

}

}

统计二叉树结点个数

算法描述

int NodeCount(BiTree T){

if(T==Null) return 0;

else

return NodeCount(T->lchild)+NodeCount(T->rchild);

}

总结,在二叉树中的应用一般使用递归算法.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  二叉树 应用 遍历