数据结构-完全二叉树及其深度和广度优先遍历序列
发布时间
阅读量:
阅读量
若二叉树采用二叉链表形式进行存储,现需判断给定的二叉树b是否属于完全二叉树的范畴。
bool CompBTree(BTNode *b)
{ BTNode *Qu[MaxSize] , *p; //定义一个队列, 用于层次遍历
int front=0, rear=0; //环形队列的队头队尾指针
bool cm=true; //cm 为真表示二叉树为完全二叉树
bool bj=true; //bj 为真表示到目前为止所有结点均有左右孩子
if (b==NULL) return true; //空树当成特殊的完全二叉树
rear++;
Qu[rear] =b; //根结点进队
while (front!=rear) //队列不空
{ front=(front+1) %MaxSize;
p=Qu[front]; //出队结点 p
if (p->lchild==NULL) //p 结点没有左孩子
{ bj=false; //出现结点 p
全部评论 (0)
还没有任何评论哟~
