已知二叉樹的先序和中序求後序遍歷
二叉樹的遍歷演算法在其他樹操作的基礎
已知先序和中序求二叉樹的後序遍歷演算法核心是
1、從先序遍歷中讀入根節點
2、從中序遍歷中找到與根節點相等的元素,以此節點將中序序列分成兩個部分,左邊的為二叉樹的
左子樹,右邊為二叉樹的右子樹;
3、遞迴呼叫上述步驟得到根節點的左、右子樹
#include #include #define maxn 55
int idx;
char pre[maxn],in[maxn],post[maxn];
int findpos(char key,char *str,int s,int e)
void solve(int ps,int pe,int is,int ie)
int k = findpos(pre[ps],in,is,ie);
solve(ps+1,ps-is+k , is,k-1);
solve(ps-is+k+1,pe , k+1,ie);
post[idx++]=pre[ps];
}int main()
return 0;
}
二叉樹已知先序中序求後序 已知中序後序求先序
在做資料結構面試題的時候我們會經常發現有關二叉樹的題目總是這樣的 栗子 已知某二叉樹先序為 中序為 求後序 已知某二叉樹中序為 後序為 求先序 需要注意的是 我們只能夠通過已知先序中序求後序或已知中序後序求先序,而不能夠已知先序和後序求中序 下面總結一下兩種題的做法 首先回顧知識點 第一種 已知乙個...
二叉樹 已知先序和中序求後序,已知中序和後序求先序
樹的三種遍歷方式的遍歷順序 先序遍歷 根 左子樹 右子樹 特點 第乙個元素為根 中序遍歷 左子樹 根 右子樹 特點 根的兩邊分別為左子樹和右子樹 後序遍歷 左子樹 右子樹 根 特點 最後乙個元素為根 有如下圖的二叉樹 其先序 中序 後序遍歷分別為 dbacegf abcdefg acbfged。1 ...
已知二叉樹先序和中序,求後序。
從處 一 已知前序 中序遍歷,求後序遍歷 例 前序遍歷 gdafemhz 中序遍歷 adefghmz 畫樹求法 第一步,根據前序遍歷的特點,我們知道根結點為g 第二步,觀察中序遍歷adefghmz。其中root節點g左側的adef必然是root的左子樹,g右側的hmz必然是root的右子樹。第三步,...