求树深度的递归算法

求树深度的递归算法

ID:37769685

大小:34.00 KB

页数:4页

时间:2019-05-30

求树深度的递归算法_第1页
求树深度的递归算法_第2页
求树深度的递归算法_第3页
求树深度的递归算法_第4页
资源描述:

《求树深度的递归算法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、//求树深度的递归算法intDepth(BitreeT){if(!T)return0;else{m=Depth(T->lchild);n=Depth(T->rchild);return(m>n?m:n)+1;}}//Depth//求二叉树中以值为x的结点为根的子树深度intGet_Sub_Depth(BitreeT,intx){if(T){if(T->data==x)returnDepth(T);//找到了值为x的结点,求x为根的子树的其深度else{if(T->lchild)m=Get_Sub_Depth(T->lch

2、ild,x);if(T->rchild)n=Get_Sub_Depth(T->rchild,x);//在左右子树中继续寻找}returnm>n?m:n;}return0;}//Get_Sub_Depth//交换所有结点的左右子树voidBitree_Revolute(BitreeT){if(T){T->lchild<=>T->rchild;//交换左右子树if(T->lchild)Bitree_Revolute(T->lchild);if(T->rchild)Bitree_Revolute(T->rchild);}}//

3、Bitree_Revolute//根据顺序存储结构建立二叉链表StatusCreateBitree_SqList(Bitree&T,SqListsa){Bitreeptr[sa.last+1];//该数组储存与sa中各结点对应的树指针if(!sa.last){T=NULL;//空树ReturnOK;}ptr[1]=(BTNode*)malloc(sizeof(BTNode));ptr[1]->data=sa.elem[1];//建立树根T=ptr[1];T->lchild=T->rchild=NULL;for(i=2;i

4、<=sa.last;i++){if(!sa.elem[i])returnERROR;//顺序错误ptr[i]=(BTNode*)malloc(sizeof(BTNode));ptr[i]->data=sa.elem[i];ptr[i]->lchild=ptr[i]->rchild=NULL;j=i/2;//找到结点i的双亲jif(i==j*2)ptr[j]->lchild=ptr[i];//i是j的左孩子elseif(i==2*j+1)ptr[j]->rchild=ptr[i];//i是j的右孩子}returnOK;}/

5、/CreateBitree_SqList

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。