编写一个判断二叉树是否为完全二叉树的C语言函数
来源:互联网 发布:粒子群算法参数 编辑:程序博客网 时间:2024/05/01 11:46
Q :编写一个判断二叉树是否为完全二叉树的C语言函数主要解答者:born_in70s提交人:langhaixin感谢:born_in70s审核者:starfish社区对应贴子:查看 A :
二叉树存储结构
struct bt
{
char data; //结点值
struct bt *ltree;
struct bt *rtree;
}
---------------------------------------------------------------
数构好久没翻了。如果我对完全二叉树定义理解没错,下面的实现可以吧?
int check (struct bt *root)
{
if (root == NULL)
return 0;
if (root->ltree == NULL && root->rtree == NULL)
return 1;
if (root->ltree == NULL && root->rtree != NULL
¦ ¦ root->ltree != NULL && root->rtree == NULL)
return 0;
return check (root->ltree) & check (root->rtree);
}
---------------------------------------------------------------
xixi,谢谢。从递归的写法来说,是罗嗦了些,不过递归调用的次数少。
以下这种写法更简洁:
int check (struct bt *root)
{
if (root == NULL)
return 0;
if (root->ltree == NULL && root->rtree == NULL)
return 1;
return check (root->ltree) & check (root->rtree);
}
但递归调用的次数就多一些。
二叉树存储结构
struct bt
{
char data; //结点值
struct bt *ltree;
struct bt *rtree;
}
---------------------------------------------------------------
数构好久没翻了。如果我对完全二叉树定义理解没错,下面的实现可以吧?
int check (struct bt *root)
{
if (root == NULL)
return 0;
if (root->ltree == NULL && root->rtree == NULL)
return 1;
if (root->ltree == NULL && root->rtree != NULL
¦ ¦ root->ltree != NULL && root->rtree == NULL)
return 0;
return check (root->ltree) & check (root->rtree);
}
---------------------------------------------------------------
xixi,谢谢。从递归的写法来说,是罗嗦了些,不过递归调用的次数少。
以下这种写法更简洁:
int check (struct bt *root)
{
if (root == NULL)
return 0;
if (root->ltree == NULL && root->rtree == NULL)
return 1;
return check (root->ltree) & check (root->rtree);
}
但递归调用的次数就多一些。
- 编写一个判断二叉树是否为完全二叉树的C语言函数
- C语言判断一棵树是否为完全二叉树
- 编写判断给定二叉树是否为二叉排序树的函数
- 判断一个树是否为完全二叉树
- 判断一棵树是否为完全二叉树
- 判断是否为完全二叉树
- 判断一棵树是否为完全二叉树
- 判断是否为完全二叉树
- 判断一棵树是否为完全二叉树
- 判断是否为完全二叉树
- 判断一棵树是否为完全二叉树
- 判断是否为完全二叉树
- 设计一个算法,判断一个二叉树是否为完全二叉树
- 判断一棵二叉树是否为完全二叉树
- 判断一棵二叉树是否为完全二叉树
- 判断二叉树是否为完全二叉树
- 判断一棵二叉树是否为完全二叉树
- 判断二叉树是否为完全二叉树
- E680手机上能用的 MPlayer
- 如何在Windows Server 2003中启用了Active Directory的情况下将 DNS 与现有 DNS 结构集成
- 用存储过程生成单据号
- 今天,你O/R Mapping了吗?
- 用二叉树的中序和前序还原二叉树
- 编写一个判断二叉树是否为完全二叉树的C语言函数
- 如何用非递规来做二叉树的后序遍历
- 简单Huffman编码
- 程序员 做军官还是做特种兵?
- 有关串口的一个调试错误,真是狂昏!!!
- “多态性”是C++最关键和核心的一个特性,“动态绑定技术”是C++编译器最重要的一个技术!欢迎C++高手进来指正我的粗浅理解
- AI+SVG的继续学习
- 请教:BCB与Matlab的联接问题
- So what are inner classes good for anyway?(翻译 by Gee)