树的四种遍历方式

2020-05-16  本文已影响0人  定一

树的四种遍历方式,结合具体例子代码很容易理解
先序遍历
中序遍历
后序遍历
层次遍历

伪代码如下
先序遍历
void PreOrder(BiTree T){
    if(T!=NULL){
        visit(T);
        PreOrder(T->lchild);
        PreOrder(T->rchile);
    }
}
中序遍历
void PreOrder(BiTree T){
    if(T!=NULL){
        PreOrder(T->lchild);
        visit(T);
        PreOrder(T->rchile);
    }
}
后序遍历
void PreOrder(BiTree T){
    if(T!=NULL){
        PreOrder(T->lchild);        
        PreOrder(T->rchile);
        visit(T);
    }
}
void LevelOrder(BiTree T){
    InitQueue(Q);   //初始化队列 
    BiTree p;           //辅助变量p 
    EnQueue(Q,T);       //根结点入队 
    while(!IsEmpty(Q)){ //队列不空,循环!!很重要,这句话 
        DeQueue(Q,p)    //队头元素出队 
        visit(p);
        if(p->lchild!=null){
            EnQueue(Q,p->lchild);
        } 
        if(p->rchild!=null){
            EnQueue(Q,p->rchild);
        }
    }
}

视频链接:https://www.bilibili.com/video/BV1b7411N798?p=27

上一篇下一篇

猜你喜欢

热点阅读