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

admin2017-11-14  37

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

选项

答案判断此二又树是否为完全二叉树的算法设计如下: int JudgeComplete(BiTree bt){ //判断二叉树是否是完全二叉树,如是,返回1;否则,返回0 int tag=0; BiTree P=bt,Q[]: //Q是队列,元素是二叉树结点指针,容量足够大 if(P==null)return 1: QueueInit(Q); Queueln(Q,P); //初始化队列,根结点指针入队 while(!QueueEmpty(Q)){ P=QueueOut(Q): //出队 if(p一>lchild&&!tag)QueueIn(Q,P一>lchild); //左孩子入队 else{ if(P一>lehild)retum 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://jikaoti.com/ti/9ffjFFFM
0

最新回复(0)