搞定二叉樹遍歷

2021-10-06 12:46:42 字數 1374 閱讀 3167

2. **

1.1 二叉樹 每個節點最多只有兩個子節點的樹

1.2 滿二叉樹

所有的葉子節點都在最後一層,並且節點總數 2^n-1 n 為層數

1.3 完全二叉樹 所有的葉子節點都在最後一層或者倒數第二層,而且最後一層的葉子節點在左邊連續,倒數第二層的葉子節點在右邊連續

2.1 思路分析

前序:先輸出父節點,再遍歷左子樹和右子樹

中序:先遍歷左子樹,再輸出父節點,再遍歷右子樹

後序:先遍歷左子樹,再遍歷右子樹,最後輸出父節點

2.2 **樣例
class

binarytree

//前序遍歷

public

void

preorder()

}public

void

infixorder()

}public

void

postorder()

}}class

heronode

public

intgetno()

public

void

setno

(int no)

public string getname()

public

void

setname

(string name)

public heronode getleft()

public

void

setleft

(heronode left)

public heronode getright()

public

void

setright

(heronode right)

@override

public string tostring()

';}//前序遍歷

public

void

preorder()

if(this

.right != null)

}//中序遍歷

public

void

infixorder()

system.out.

println

(this);

if(this

.right != null)

}//後序遍歷

public

void

postorder()

if(this

.right != null)

system.out.

println

(this);

}}

構建二叉樹 遍歷二叉樹

陣列法構建二叉樹 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 二叉樹 要求給出中序遍歷的結果。下面分別就前序遍歷 中序遍歷 後序遍歷進行分析。規律 前序遍歷 根在前 子樹在根後且左子樹比右子樹靠前 中序遍歷 根在中 左子樹在根左邊,右子樹在根右邊 後序遍歷 根在後 子樹在根前且左子樹比...