之前為了找工作,大部分心思都在程式語言上,基本上忽略了計算機基礎和資料結構,演算法之類的知識(這就是非科班出身的短板啊!!
)。最近在盡可能地補一下這短板,今天就二叉樹的前序遍歷,中序遍歷和後序遍歷寫個總結,自我鞏固。
1)前序遍歷(也稱先序遍歷)
規則:若二叉樹為空,則進行空操作;否則:
a.訪問根節點;
b.先序遍歷根的左子樹;
c.先序遍歷根的右子樹。
演算法:void preorder(bitree root)
}結果:abdecf
2)中序遍歷
規則:若二叉樹為空,則進行空操作;否則:
a.中序遍歷根的左子樹;
b.訪問根節點;
c.中序遍歷根的右子樹。
如果:dbeafc
3)後序遍歷
規則:若二叉樹為空,則進行空操作;否則:
a.後序遍歷根的左子樹;
b.後序遍歷根的右子樹;
c.訪問根節點。
如果:debfca
構建二叉樹 遍歷二叉樹
陣列法構建二叉樹 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 二叉樹 要求給出中序遍歷的結果。下面分別就前序遍歷 中序遍歷 後序遍歷進行分析。規律 前序遍歷 根在前 子樹在根後且左子樹比右子樹靠前 中序遍歷 根在中 左子樹在根左邊,右子樹在根右邊 後序遍歷 根在後 子樹在根前且左子樹比...