樹其實在本質上就是一對多,鏈表就是一對一。
二叉樹的建立:
這里的代碼采用的是最粗暴的創建方法,無實際用處。但初次學習二叉樹可以通過這個創建方法更好的理解二叉樹。
二叉樹的遍歷:
遍歷在大體上分為遞歸遍歷和非遞歸遍歷。
遍歷總共三種遍歷順序:
1.先序遍歷:根,左,右
2.中序遍歷:左,根,右
3.后序遍歷:左,右,根
遞歸遍歷:
其實只要理解了遞歸,遞歸遍歷是比較簡單的,復雜度也較低。
非遞歸遍歷:
這里我采用的方法是,用棧來存放走過的路徑。然后一次打印每個結點。
具體的代碼實現如下: