判别给定的二叉树是否是完全二叉树,并给出设计的算法(可不描述结构体)。

admin2017-01-04  49

问题 判别给定的二叉树是否是完全二叉树,并给出设计的算法(可不描述结构体)。

选项

答案判断此二叉树是否为完全二叉树的算法设计如下: int JudgeComplete(BiTree bt){ //判断二叉树是否是完全二叉树,如是,返回1;否则,返回0 int tag=0; BiTree P=bt,Q[]; //Q是队列,元素是二叉树结点指针,容量足够大 if(p==null)return 1; QueueInit(Q): QueueIn(Q,P); //初始化队列,根结点指针入队 while(!QueueEmpty(Q)){ P=QueueOut(Q); //出队 if(p一>lchild&&!tag)Queueln(Q,P->lchild); //左孩子入队 else{ if(P一>lchild)return 0: //前边已有结点为空,本结点不空 else tag=1; //首次出现结点为空 if(p一>rchild&&!tag)Queueln(Q,P->rchild): //右孩子入队 else if(p一>rchild)return 0; else tag=1; } }//while return 1; }//Judgecomplete

解析
转载请注明原文地址:https://kaotiyun.com/show/TLRi777K
0

最新回复(0)