前序遍歷(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...