二叉樹遍歷

2021-06-05 22:03:12 字數 645 閱讀 4044

【描述】華為實習生招聘,有一道類似如下的題目:

給出二叉樹,如圖1所示:

圖 1 二叉樹

要求給出中序遍歷的結果。下面分別就前序遍歷、中序遍歷、後序遍歷進行分析。

【規律】

前序遍歷:根在前;子樹在根後且左子樹比右子樹靠前;

中序遍歷:根在中;左子樹在根左邊,右子樹在根右邊;

後序遍歷:根在後;子樹在根前且左子樹比右子樹靠前;

【分析】

(1) 首先明白乙個概念,如圖2所示,

紅框標示1部分是b的右子樹,紅框表示2部分是f的左子樹。

遍歷時,如果結點下面有子樹,需要將子樹視為乙個整體對待,而子樹又分別按遍歷規律進行遍歷。

(2) 遍歷結果

前序遍歷:abcdefghij

中序遍歷:cbedahgifj

後序遍歷:cedbhigjfa

【學習參考】2012-10-23

1 二叉樹中的那些常見的面試題 2

搜尋二叉樹轉換成鍊錶

構建二叉樹 遍歷二叉樹

陣列法構建二叉樹 public class main public static void main string args 用陣列的方式構建二叉樹 public static void createbintree 把linkedlist集合轉成二叉樹的形式 for int j 0 j 最後乙個父節...

二叉樹遍歷

二叉樹的遍歷非常重要,但對已一棵比較複雜的樹,要寫出它的先 中 後序遍歷,往往不是那麼簡單,也很容易犯錯。這裡介紹一種比較直觀且不容易犯錯的方法。對於圖1所示的二叉樹,要寫出它的先 中 後序遍歷,往往很容易出錯。圖 1 其實,我們可以用圖2中的紅線描畫出二叉樹的輪廓。圖 2 而對於樹上的每乙個節點,...

二叉樹遍歷

typedef struct binary tree binary tree 二叉樹的基本資料結構如上所示,下面給出以深度優先的三種方法對二叉樹進行遍歷的演算法 遞迴實現 void preorder binary tree root 先序遍歷遞迴演算法 void inorder binary tre...