|
![]() | 作者: jilian [jilian]
![]() |
登录 |
怎样求二叉树的宽度,我想了一晚上,没想清楚,请各位大哥请指教。 |
地主 发表时间: 10/15 08:38 |
![]() | 回复: 286 [unique] ![]() |
登录 |
二叉树有宽度吗?宽度是如何定义的? |
B1层 发表时间: 10/15 09:57 |
![]() | 回复: jilian [jilian] ![]() |
登录 |
宽度:指二叉树的各层上,具有结点数最多的的那一层的结点数。有一个习提这样定义的。以二叉链表为存储结构。 |
B2层 发表时间: 10/15 10:59 |
![]() | 回复: 286 [unique] ![]() |
登录 |
这个简单。 ========================================== int num[20]=0;//假设最深有20层。 main() { tree *tpt; //创建树。 int maxdepth=0; width(tpt,0);//遍例树。 for (int i=0;i<20;i++) if (num[i]>maxdepth) maxdepth=num[i]; printf("Its width is :%d",maxdepth); } width(tree *t,int dep) { if (t.left!=NULL) width(t.left,dep+1); num[dep]++; if (t.right!=NULL) width(t.right,dep+1); } |
B3层 发表时间: 10/15 13:03 |
![]() | 回复: jilian [jilian] ![]() |
登录 |
收到,谢谢老大。 努力学习ing. |
B4层 发表时间: 10/15 17:44 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号