前序遍歷 中序遍歷 後序遍歷

2021-09-07 10:47:47 字數 929 閱讀 6617

前序遍歷(dlr)

前序遍歷也叫做先根遍歷、先序遍歷,可記做根左右。

前序遍歷首先訪問根結點然後遍歷左子樹,最後遍歷右子樹。在遍歷左、右子樹時,仍然先訪問根結點,然後遍歷左子樹,最後遍歷右子樹。

若二叉樹

為空則結束返回,否則:

(1)訪問根結點。

(2)前序遍歷左子樹

(3)前序遍歷右子樹 。

需要注意的是:遍歷左右子樹時仍然採用前序遍歷方法。

如右圖所示二叉樹

前序遍歷,也叫先根遍歷,遍歷的順序是,根,左子樹,右子樹

遍歷結果:abdecf

中序遍歷

,也叫中根遍歷

,順序是左子樹,根,右子樹

遍歷結果:dbeafc

後序遍歷,也叫後根遍歷,遍歷順序,左子樹,右子樹,根

遍歷結果:debfca

編輯本段

程式實現

樹的遍歷一般都用遞迴實現,比較方便

c語言版本

樹中節點結構為:

typedef struct treenode

int data;

treenode * left;

treenode * right;

treenode * parent;

}treenode;

void pre_order(treenode* node)

if(node != null)

printf("%d ",node->data);

pre_order(node->left);

pre_order(node->right);

呼叫時: pre_order(root); //root為樹的根

前序遍歷 中序遍歷 後序遍歷

只要是搞計算機的,對資料結構中二叉樹遍歷都不陌生,但是如果用到的機會不多那麼就會慢慢淡忘,溫故而之新才是最好的學習方式,現在就重新溫習一下這方面的知識。首先我想先改變這幾個遍歷的名字 前根序遍歷,中根序遍歷,後根序遍歷 前中後本來就是相對於根結點來說的,少乙個字會產生很多不必要的誤解。1.前根序遍歷...

前序遍歷 中序遍歷 後序遍歷

遍歷是針對根節點的 前序遍歷順序 根節點 左子樹 右子樹 中序遍歷順序 左子樹 根節點 右子樹 後序遍歷順序 左子樹 右子樹 根節點 深入一點去理解這個排序順序是這樣的 前序遍歷 首先訪問根結點,然後遍歷左子樹,最後遍歷右子樹。在遍歷左 右子樹時,仍然先訪問根結點,然後遍歷左子樹,最後遍歷右子樹。中...

前序遍歷and中序遍歷and後序遍歷

根據根節點的出現的時間確定前 中 後遍歷。1 前序遍歷首先訪問根結點然後遍歷左子樹,最後遍歷右子樹。在遍歷左 右子樹時,仍然先訪問根結點,然後遍歷左子樹,最後遍歷右子樹。前序遍歷結果 abdecf 2 中序遍歷首先遍歷左子樹,然後訪問根結點,最後遍歷右子樹,若二叉樹為空則結束返回,中序遍歷結果 db...