数据结构基本知识点(三)

  • 图的深度遍历

算法执行过程:任取一个顶点,访问之,然后检查这个顶点的所有临街定点,队规访问其中未被访问过的顶点。

void level(BTNode *p)
{
    int front, rear;
    BTNode *que[maxSize];
    front=rear=0;
    BTNode *q;
    if (p!=NULL)
    {
        rear=(rear+1)%maxSize;
        que[rear]=p;//根节点入队
        while (front!=rear)
        {
            front=(front+1)%maxSize;
            q=que[front];
            visit(q);
            if (q->lchild!=NULL)
            {
                rear=(rear+1)%maxSize;
                que[rear]=q->lchild;
            }
            if (q->rchild!=NULL)
            {
                rear=(rear+1)%maxSize;
                que[rear]=q->rchild;
            }
        }
    }
}
原文地址:https://www.cnblogs.com/shinecox/p/3142934.html