二叉樹遍歷

2021-09-26 10:13:20 字數 1227 閱讀 8525

根據根節點的順序 分為:前序/中序/後序

例如上圖:  a:根節點 b:左節點 c:右節點

前序遍歷:abc(順序:根,左,右)

中序遍歷:bac(順序:左,根,右)

後序遍歷:bca(順序:左,右,根)

案例:

比如上圖二叉樹遍歷結果

前序遍歷:abcdefghk

中序遍歷:bdcaehgkf

後序遍歷:dcbhkgfea

可以總結一些特點:

我們根據特性a,可以得知根節點是c,然後,根據特性c,我們知道左子樹是:gbha,右子樹是:def。

c

/ \

ghba def

c

/ \

a def

/gbh

c

/ \

a def/b

/ \

g h

c

/ \

a e

/ / \

b d f

/ \

g h

到此,我們得到了這棵完整的二叉樹,因此,它的後序遍歷就是:ghbadfec

實現**:

public class treenode 

}public treenode reconstructbinarytree(int pre,int in)

//前序遍歷和中序遍歷序列

private treenode reconstructbinarytree(int pre,int startpre,int endpre,int in,int startin,int endin)

return root;

}

思路:

構建二叉樹 遍歷二叉樹

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

二叉樹遍歷

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

二叉樹遍歷

描述 華為實習生招聘,有一道類似如下的題目 給出二叉樹,如圖1所示 圖 1 二叉樹 要求給出中序遍歷的結果。下面分別就前序遍歷 中序遍歷 後序遍歷進行分析。規律 前序遍歷 根在前 子樹在根後且左子樹比右子樹靠前 中序遍歷 根在中 左子樹在根左邊,右子樹在根右邊 後序遍歷 根在後 子樹在根前且左子樹比...