急急~判断一棵二叉树是满二叉树的算法!

[复制链接]
查看11 | 回复0 | 2010-5-6 15:12:06 | 显示全部楼层 |阅读模式
怀疑你是不是想判断问完全二叉树啊? 满二叉树有什么好判断的……templatebool Bintree::is_Full_bintree(B_T_Node *root ) {int n=degree_one( root );if (root->left !=NULL && root->right != NULL &&root->left->left == NULL &&root->left->right == NULL && root->right->left == NULL && root->right->right == NULL ) return true;if (root->left !=NULL && root->right == NULL &&root->left->left == NULL &&root->left->right == NULL ) return true;if (root->left==NULL && root->right == NULL ) return true;if ( n!=0&& n!=1 )return false;if(root->left==NULL && root->right != NULL)return false;if(root->left->right==NULL&&root->right->left != NULL ) return false;if ( !is_Full_bintree(root->left ) ) return false;if ( !is_Full_bintree ( root->right ) ) return false ;if ( high(root->left )right ) ) return false;}degree_one 函数返回 次数为1 节点个数;high 函数返回 树的层数;刚写的,懒得优化。我们班据说有个什么层次遍历,没弄明白。我的算法是完备的,可能效率不高。希望看到高效率算法。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行