判断二叉树是不是为满二叉树 (C++描述)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断二叉树是不是为满二叉树 (C++描述)相关的知识,希望对你有一定的参考价值。
#include<iostream>
#include<math.h>
#define TURE 1
#define FALSE 0
template<class T>
class BTNode
friend BTree<T>;
public:
BTNode()LChild=0;RChild=0;;
private:
T data;
BTNode<T> *LChild,*RChild;
;
template<class T>
class BTree
public:
BTree()root=0;;
bool Judge(BTNode<T> *t)const;
int Height(BTNode<T> *t)const;
int NodesNum(BTNode<T> *t)const;
private:
BTNode<T> *root;
;
template<class T>
bool BTree<T>::Judge(BTNode<T> *t)
int h=Height(t);
int n=NodesNum(t);
if(n==pow(2,h)-1)
return TURE;
else
return FALSE;
int BTree<T>::Height(BTNode<T> *t)
if(!t) return 0;
int hl=Height(t->LChild);
int hr=Height(t->RChild);
if(hl>hr) return ++hl;
else return ++hr;
template<class T>
int BTree<T>::NodesNum(BTNode<T> *t)
if(!t)
return 0;
int numl=NodesNum(t->LChild);
int numr=NodesNum(t->RChild);
return numl+numr+1;
int main()
BTree<int> *t;
t.Judge();
return 0;
没有构造二叉树的步骤,只写了判断二叉树是否是满二叉树 有哪里错误吗?
就是要求写算法呢?
参考技术A 非常正确,逻辑清晰二叉树满二叉树完全二叉树
二叉树
满二叉树(完美二叉树)
完全二叉树
以上是关于判断二叉树是不是为满二叉树 (C++描述)的主要内容,如果未能解决你的问题,请参考以下文章