二叉樹3 三種遍歷(遞迴方法)

2021-08-05 18:34:12 字數 359 閱讀 8989

遍歷即將樹的所有結點訪問且僅訪問一次。按照根節點位置的不同分為前序遍歷,中序遍歷,後序遍歷。

前序遍歷:根節點->左子樹->右子樹

中序遍歷:左子樹->根節點->右子樹

後序遍歷:左子樹->右子樹->根節點

用遞迴方法實現三種遍歷還是比較簡單的,也比較好理解。

前序:

void pre_order (btreenode *node)

中序:void mid_order (btreenode *node)

後序:void last_order (btreenode *node)

三種方式列印出來的結果就是三種遍歷的結果。

二叉樹的三種非遞迴遍歷方法

frontsearch函式用於前序遍歷二叉樹。void frontsearch binarytree root 在將子節點進行入棧時,由於要先遍歷左節點,後遍歷右節點,所以要先將右節點入棧,再將做節點入棧。middlesearch函式用於中序遍歷二叉樹。void middlesearch binar...

二叉樹的三種遍歷方法

定義二叉樹 鏈式儲存 struct binarytreenode 順序儲存 struct binarytreenode 遞迴實現 先序遍歷 int preordertreewalk binarytreenode pnode 中序遍歷 int inordertreewalk binarytreenod...

二叉樹的三種遞迴方法

今天學習了二叉樹的知識學習了三種遍歷二叉樹的方法,雖然不知道後面兩種有什麼卵用,但還是講解一下 第一種 先序遍歷 1 先訪問其節點本身 2 訪問其左邊的子節點 3 再訪問其右邊的子節點。這種遍歷二叉樹的方法其實就是深搜,先訪問左邊一整條線的節點,就相當於搜尋迷宮時朝乙個方向一直走,直到不能走時再換乙...