前序中序求後序 後序中序求前序層次 模板

2021-07-11 20:49:23 字數 1085 閱讀 5262

這是資料結構的知識。。。

剛開始先拒絕用指標去寫。當我把這個想法和別人分享是,別人說不喜歡用指標的程式設計師不是乙個好的c/c++程式設計師。。。

所以,就有了這麼勵志的時刻,我參考大牛的**,自己用指標寫了個遍,直接1a ...不用指標總是出現各種想不到的錯誤。。。心累。。。orz....

#include#include#include#include#includeusing namespace std;

typedef struct tree

tree;

tree *head;

// 已知a為前序,b為後序,建樹;

tree *creat_postorder(int *a,int *b,int len)

}return null;

}// 已知a為後序,b為中序;

tree *creat_preorder(int *a,int *b,int len)

}return null;

}// 後序遍歷;

void postorder(tree *h)

}// 前序遍歷;

void preorder(tree *h)

}// 層次遍歷

void levelorder(tree *h)

}int main()

{ int a[1010],b[1010];

int n;

cin.sync_with_stdio(false);

while(cin>>n){

head=null;

for(int i=0;i>a[i];

for(int i=0;i>b[i];

head=creat_postorder(a,b,n); // 知道前序中序建樹;

postorder(head);

//head=creat_preorder(a,b,n); // 知道中序後序建樹;

//preorder(head); // 求前序

//levelorder(head); // bfs求層次

cout<

題目2:告訴中序後序求前序,模板題

前序中序求後序

test fdxeag xdefag 涉及到二叉樹的問題最好不用動態申請,對記憶體的管理很麻煩 採用預分配的靜態陣列 本題目由前序和中序得到後序,方法 先構造二叉樹,再進行 include includestruct nodetree 50 char str1 50 str2 50 分別存放前序和中...

根據前序中序求後序

如前序 為 abdecgf 中序 為 bdacgef 先 根據前序第乙個節點 把中序分為bd和cgef兩部分,a為根節點,a左邊為左子樹,右邊為右子樹。再把左右子樹分別做上述步驟。以此類推 根據第二,第三.個節點構成二叉樹 a b e d c f g b 再根據後序的性質得到dbgcbfea 知道後...

已知前序中序,求後序

思路 先序的遍歷規則為根 左 右,中序的遍歷規則為左 根 右,所以我們在中序中找到與a a必為根 相等的字元,則在中序中g d h b為a的左子樹,e i c j f為a的右子樹,在左子樹和右子樹中,重複前面過程,最後逆向將根列印出來,就是其後序。是乙個遞迴過程 include include us...