关于网友提出的“ 求判断一棵二叉树是否为完全二叉树的算法”问题疑问,本网通过在网上对“ 求判断一棵二叉树是否为完全二叉树的算法”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 求判断一棵二叉树是否为完全二叉树的算法描述:
要求结构简单,可使用递归
解决方案1:
楼上的兄弟,你说的好象是满二叉树哦:)
解决方案2: 1.做一算法用来求该树有多少接点 =(Number)
//该写输出接点的函数就可得到
2.做另一算法用来求该书的深度 =(Depth)
//书点的考研题
通过公式: if ( 2的(Depth - 1)次方 == Number )
then
//是完全二杈树
访问左子树时取1, 右子树取0, 自左至右递归历遍.
如: 0
/ \
0 0
/ \ \
0 0 0
\ /
0 0
则得到三组数字串: 110, 10, 001
最后一个串为零串,长度最多比树的层次数小2,且第一个字串都为1. 否则肯定不完全.
然后把字串(二进制串)转化成数,那么这组数字应该连续,不然肯定不完全.
完全二叉树就是:深度为k的,有n个结点的二叉树,自上而下,自左到右结点都与深度为K的满二叉树中编号从1至n的结点一一对应。
可以根据定义做啊!