请写出计算二叉树的深度的算法

论坛 期权论坛 期权     
匿名   2018-4-26 13:54   2543   2
数据结构.多谢谢帮忙..
分享到 :
0 人收藏

2 个回复

倒序浏览
2#
热心网友  15级至尊 | 2018-4-30 01:58:25 发帖IP地址来自
写一算法,计算二叉树的深度。   提示:主要算法采用递归算法;要求写出与之配套的主调函数。     //主调函数void   Btree ::num()                     { int m=0;                                    m=depth( root );                           cout
3#
热心网友  15级至尊 | 2018-4-30 01:58:26 发帖IP地址来自
typedef struct tree//二叉树的定义
{ char data; struct tree *lchild,*rchild; }TREE,*Tree;

void create(Tree t)//创建一棵二叉树
{ char ch; scanf("%c",&ch); if(ch=='#') t=NULL;
else { t->data=ch; create(t->lchild); create(t->rchild); }
}
int deep(Tree t)//深度算法
{ if(!t) return 0; else { ld=deep(t->lchild); rd=deep(t->rchild);
if(ld>rd) return rd+1; else return ld+1;
}
void main()//主函数
{ Tree t; create(t); printf("%d\n",deep(t)); }
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:58388
帖子:6688
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP