数据结构C 完全二叉树的判别(各位高手帮帮忙)

陌悠影 2006-06-21 04:50:07
试写一个判别给定二叉树是否为完全二叉树的程序
1,此二叉树以二叉链表作存储结构
2,正,反测试用例自己设计

我是超级大菜鸟,编了好长时间没编出来,周五就交了- -!!,请各位高手帮帮忙,感激涕零~~
...全文
243 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenhu_doc 2006-06-21
  • 打赏
  • 举报
回复
int IsFull_Bitree(Bitree T)//判断二叉树是否完全二叉树,是则返回1,否则返回0
{
InitQueue(Q);
flag=0;
EnQueue(Q,T); //建立工作队列
while(!QueueEmpty(Q))
{
{
DeQueue(Q,p);
if(!p) flag=1;
else if(flag) return 0;
else
{
EnQueue(Q,p->lchild);
EnQueue(Q,p->rchild); //不管孩子是否为空,都入队列
}
}//while
return 1;
}//IsFull_Bitree
分析:该问题可以通过层序遍历的方法来解决.与6.47相比,作了一个修改,不管当前结点
是否有左右孩子,都入队列.这样当树为完全二叉树时,遍历时得到是一个连续的不包含空
指针的序列.反之,则序列中会含有空指针.
sbayanami 2006-06-21
  • 打赏
  • 举报
回复
楼主可以按层遍历2叉树(由上到下,由左到右,非递归的话要用队列),如果不是最后一个节点,若它没有左孩子,那就不是完全二叉树。

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧