這裡注意首先根據前序遍歷找出根,然後分割二叉樹進行建樹。一定要在紙上畫一畫,用k做為子樹的大小,prel,prer,inl,inr等作為樹的邊界,再加上prel>prer的跳出條件,就能完成了。
#include
using
namespace std;
int pre[10]
=;int in[10]
=;typedef
struct nodenode;
//前+中 -> 後
node*
createpost
(int prel,
int prer,
int inl,
int inr)
//後序遍歷
void
posttranv
(node* root)
intmain()
前序遍歷 中序遍歷 後序遍歷
只要是搞計算機的,對資料結構中二叉樹遍歷都不陌生,但是如果用到的機會不多那麼就會慢慢淡忘,溫故而之新才是最好的學習方式,現在就重新溫習一下這方面的知識。首先我想先改變這幾個遍歷的名字 前根序遍歷,中根序遍歷,後根序遍歷 前中後本來就是相對於根結點來說的,少乙個字會產生很多不必要的誤解。1.前根序遍歷...
前序遍歷 中序遍歷 後序遍歷
遍歷是針對根節點的 前序遍歷順序 根節點 左子樹 右子樹 中序遍歷順序 左子樹 根節點 右子樹 後序遍歷順序 左子樹 右子樹 根節點 深入一點去理解這個排序順序是這樣的 前序遍歷 首先訪問根結點,然後遍歷左子樹,最後遍歷右子樹。在遍歷左 右子樹時,仍然先訪問根結點,然後遍歷左子樹,最後遍歷右子樹。中...
前序遍歷 中序遍歷 後序遍歷
前序遍歷 dlr 前序遍歷也叫做先根遍歷 先序遍歷,可記做根左右。前序遍歷首先訪問根結點然後遍歷左子樹,最後遍歷右子樹。在遍歷左 右子樹時,仍然先訪問根結點,然後遍歷左子樹,最後遍歷右子樹。若二叉樹 為空則結束返回,否則 1 訪問根結點。2 前序遍歷左子樹。3 前序遍歷右子樹 需要注意的是 遍歷左右...