Advertisement

数据结构-完全二叉树及其深度和广度优先遍历序列

阅读量:

若二叉树采用二叉链表形式进行存储,现需判断给定的二叉树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)

还没有任何评论哟~