二叉樹的前序,中序,後序遍歷

2021-10-03 16:53:03 字數 934 閱讀 3203

二叉樹先序遍歷的實現思想是:

訪問根節點;

訪問當前節點的左子樹;

若當前節點無左子樹,則訪問當前節點的右子樹;

二叉樹中序遍歷的實現思想是:

訪問當前節點的左子樹;

訪問根節點;

訪問當前節點的右子樹;

二叉樹後序遍歷的實現思想是:

從根節點出發,依次遍歷各節點的左右子樹,

直到當前節點左右子樹遍歷完成後,才訪問該節點元素。

總結一點,所謂"前、中、後"指的是什麼時候遍歷根節點

#includeusing namespace std;

typedef struct binode

stbinode;

// 構建一顆樹

void createtree(stbinode* ptree);

// 列印節點資訊

void printnodeinfo(stbinode* pnode);

// 前序遍歷

void preprinttree(stbinode* ptree);

// 中序遍歷

void midprinttree(stbinode* ptree);

// 後序遍歷

void postprinttree(stbinode* ptree);

int main()

void createtree(stbinode* ptree)

// 列印節點資訊

void printnodeinfo(stbinode* pnode)

}// 中序遍歷

void midprinttree(stbinode* ptree)

}// 後序遍歷

void postprinttree(stbinode* ptree)

二叉樹遍歷(前序,中序,後序

二叉樹的遍歷有三種方式,如下 1 前序遍歷 dlr 首先訪問根結點,然後遍歷左子樹,最後遍歷右子樹。簡記根 左 右。2 中序遍歷 ldr 首先遍歷左子樹,然後訪問根結點,最後遍歷右子樹。簡記左 根 右。3 後序遍歷 lrd 首先遍歷左子樹,然後遍歷右子樹,最後訪問根結點。簡記左 右 根。例1 如上圖...

二叉樹的遍歷 前序 中序 後序

include includetypedef struct bintree treenode,b tree b tree root null 函式的宣告 b tree creat tree int n void print1 void preorder b tree pointer 前序遍歷 voi...

二叉樹的前序 中序 後序遍歷

樹形結構是一類重要的非線性資料結構,其中以樹和二叉樹最為常用。二叉樹是每個結點最多有兩個子樹的有序樹。通常子樹的根被稱作 左子樹 left subtree 和 右子樹 right subtree 二叉樹常被用作二叉查詢樹和二叉堆或是二叉排序樹。二叉樹的每個結點至多只有二棵子樹 不存在度大於2的結點 ...