給定二叉樹的前序遍歷和中序遍歷-----求後續遍歷和層次遍歷
請結合一起看
樹和二叉樹基本上都有先序、中序、後序、按層遍歷等遍歷順序,給定中序和其它一種遍歷的序列就可以確定一棵二叉樹的結構。
假定一棵二叉樹乙個結點用乙個字元描述,現在給出中序和按層遍歷的字串,求該樹的先序遍歷字串。
輸入格式
兩行,每行是由大寫字母組成的字串(一行的每個字元都是唯一的),分別表示二叉樹的中序遍歷和按層遍歷的序列。
輸出格式
一行,表示二叉樹的先序序列。
資料範圍
輸入字串的長度均不超過26。
輸入樣例:
dbeac
abcde
輸出樣例:
abdec
#include#include#include#includeusing namespace std;
struct node
};mappos;
string inorder,level;
queueq;
bool st[30];
void dfs(struct node* root)
int main()
if(position+1< inorder.size()&& !st[position+1])
}dfs(root);
return 0;
}
二叉樹先序遍歷,中序遍歷,後序遍歷,層次遍歷。
原理 如圖 先序遍歷結果為 abdhecfg 首先從根節點開始,然後左節點,左節點成為根節點,然後再左節點,然後右節點 如果左子樹遍歷完後就遍歷該根節點的右子樹 中序遍歷結果為 hdbeafcg 當左節點被讀取後,左節點被當作根節點 後序遍歷結果為 hdebfgca 注意每個節點的左右子樹必須遍歷完...
給定前序遍歷 中序遍歷重建二叉樹
通過講解呢我們會很明顯的感到這是乙個遞迴的問題。從乙個序列劃分成了兩個序列,然後各自再做劃分直到只有單個元素為止。那最簡單的實現思路就是遞迴了。實現思路的講解在這裡,也是嗶哩嗶哩上的。實現起來有個點要注意一下,那就是子樹的元素個數不論在什麼序列中都是相同的。在中序序列裡有10個元素,在前序遍歷裡也有...
層次遍歷和中序遍歷序列建立二叉樹
include include include include include define maxsize 100 typedef char elementtype typedef struct btnode btnode 由層次遍歷和中序遍歷序列生成二叉樹的辦法 自己的辦法 二叉樹的根節點在層次...