原文内容来自免费考研论坛,请点击查看全文
http://bbs.freekaoyan.com/viewthread.php?tid=228292
急求:设二叉树以二叉链表为存储结,试给出判断一棵二叉树是否为满二叉树的算法
---------------------------------
严蔚敏《数据结构》习题答案中解答!
---------------------------------
俺写一个试试哦!
int judgeMT(Bitree *bt)
{
if(NULL == bt)
return 1;
if(!bt->lchild || !bt->rchild)
return 0;
else
return 1;
return (judge(bt->lchild) & judge(bt->rchild));
}
---------------------------------
一个n层的满二叉树结点总数为2的n次幂-1,利用递归遍历,一个计数器就可以了!
以下为该子程序:
int i=0;/*计数器I为全局变量*/
int sumtree(Bitree T)
{if(T)
{i ;
Preordertraverse(T->lchild);
}
else return;
Preordertraverse(T->rchild);
}
最后I的值就是结点总数。
---------------------------------
那个好象是完全二叉树 谢谢啦