按照根節點->左子樹->右子樹的順序訪問二叉樹
先序遍歷:
(1)訪問根節點;
(2)採用先序遞迴遍歷左子樹;
(3)採用先序遞迴遍歷右子樹;
(注:每個節點的分支都遵循上述的訪問順序,體現「遞迴呼叫」)
先序遍歷結果:a bdfe cghi
思維過程:
(1)先訪問根節點a,
(2)a分為左右兩個子樹,因為是遞迴呼叫,所以左子樹也遵循「先根節點-再左-再右」的順序,所以訪問b節點,
(3)然後訪問d節點,
(4)訪問f節點的時候有分支,同樣遵循「先根節點-再左–再右」的順序,
(5)訪問e節點,此時左邊的大的子樹已經訪問完畢,
(6)然後遵循最後訪問右子樹的順序,訪問右邊大的子樹,右邊大子樹同樣先訪問根節點c,
(7)訪問左子樹g,
(8)因為g的左子樹沒有,所以接下倆訪問g的右子樹h,
(9)最後訪問c的右子樹i
按照左子樹->根節點->右子樹的順序訪問
中序遍歷:
(1)採用中序遍歷左子樹;
(2)訪問根節點;
(3)採用中序遍歷右子樹
中序遍歷結果:dbef a ghci
後序遍歷:
(1)採用後序遞迴遍歷左子樹;
(2)採用後序遞迴遍歷右子樹;
(3)訪問根節點;
後序遍歷的結果:defb hgic a
二叉樹三種遍歷方式
三種遍歷方式是按照根節點的訪問順序來定義的 1 前序遍歷 先訪問根結點 然後遍歷左子樹,最後遍歷右子樹 並且,在遍歷左 右子樹時,仍然先訪問根結點,然後遍歷左子樹,最後遍歷右子樹。根左右 2 中序遍歷 先遍歷左子樹 然後訪問根結點,最後遍歷右子樹 並且,在遍歷左 右子樹時,仍然先遍歷左子樹,然後訪問...
重建二叉樹 遍歷二叉樹的三種方式
輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。示例 前序遍歷 preorder 3,9,20,15,7 中序遍歷 inorder 9,3,15,20,7 返回如下的二叉樹 3 9 20 15 7限制 0 節點個數 5000 這個題的解法...
二叉樹的三種遍歷方式總結
最近學了二叉樹的三種遍歷方式,即前序遍歷,中序遍歷,後序遍歷三種,仔細思索後,在此簡單總結一下。一.二叉樹示意圖 假設有一顆二叉樹如下 二.遍歷分析 每一顆二叉樹由根節點,左子樹,右子樹三個部分組成,規定先遍歷左子樹,再遍歷右子樹,這樣一來就有了三種遍歷方式,按照遍歷根節點的先後順序來劃分,根 左 ...