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

admin2019-08-15  40

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

选项

答案 判断此二叉树是否为完全二叉树的算法设计如下: 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)QueueIn(Q,P一>rchild); //右孩子入队 else if(p一>rchild)return 0; else tag=1; } }//while return 1 ; }//Judgecomplete

解析
转载请注明原文地址:https://jikaoti.com/ti/nQGjFFFM
0

最新回复(0)