二叉樹的先序 中序 後序三種遍歷

2021-09-14 00:47:29 字數 581 閱讀 1946

二叉樹遍歷根據節點順序來分有三種方式:先序遍歷、中序遍歷、後序遍歷。

以上圖二叉樹為例,a是根節點,b是左節點,c是右節點。先序遍歷:abc(從根節點開始訪問,然後從左節點到右節點),中序遍歷:bac(從左節點開始,然後訪問根節點,最後訪問右節點),後序遍歷:bca(從左節點開始然後優先訪問同級的右節點最後訪問根節點)

接下來再來乙個稍微複雜點的二叉樹

先序遍歷:abcdefghi

中序遍歷:bdcaeggif

後序遍歷:dcbhigfea

以中序遍歷為例作詳細介紹

參考部落格:

二叉樹的三種遍歷(先序,中序,後序)

二叉樹的遍歷 1 遞迴形式的遍歷 1.1先序遍歷 先訪問父親節點,在訪問左葉子節點,在訪問右葉子節點,如下 void preorder treenode root 1.2中序遍歷 先訪問左葉子節點,在訪問父親節點,在訪問右孩子節點 void middleorder treenode root 1.3...

二叉樹先序 中序 後序遍歷

題目 用遞迴和非遞迴方式,分別按照二叉樹先序 中序和後序列印所有的節點。我們約定 先序遍歷順序為根 左 右 中序遍歷順序為左 根 右 後序遍歷順序為左 右 根。遞迴實現 遞迴遍歷二叉樹 先序 public void preorderrecur node head system.out.println...

二叉樹先序遍歷 中序遍歷 後序遍歷

輸入二叉樹的先序遍歷序列和中序遍歷序列,輸出該二叉樹的後序遍歷序列。非建二叉樹版本 include includeusing namespace std string preord,inord void rebuild int preleft,int preright,int inleft,int ...