軟考:數據結構基礎——二叉樹三種遍歷順序


  一、二叉樹的先序遍歷

    規則,從根節點開始,優先訪問每一個左孩子,每次訪問都要輸出數據

    示例,先序遍歷的順序

    下圖節點的編號都代表着他們被訪問的次序

    

void preOrder(BiTree T){
    if(T != NULL){
        printf("%d \n",T->data);
        preOrder(T->lchild);
        preOrder(T->rchild);
    }
}

 

   二、中序遍歷二叉樹

    從根節點開始,優先訪問左孩子,當一個雙親節點的左孩子的所有節點被訪問完時,訪問這個雙親節點,之后訪問它的右孩子,它的右孩子的左孩子的所有節點被訪問完時才能訪問它

    太繞了我要死了。

    示例

void inOrder(BiTree T){
    if(T != NULL){
        inOrder(T->lchild);
        printf("%d \n",T->data);
        inOrder(T->rchild);
    }
}

 

   三、后序遍歷二叉樹

    當一個雙親節點的所有子節點都被訪問完時,才訪問這個雙親節點,訪問這些子節點都是優先訪問左孩子節點

    

void postOrder(BiTree T){
    if(T != NULL){
        postOrder(T->lchild);
        postOrder(T->rchild);
        printf("%d \n",T->data);
    }
}

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM