第一行輸入結點個數
第二行輸入中序遍歷的結點順序
第三行輸入前序遍歷的結點順序
最後輸出層序遍歷的答案
輸入樣例:
7
4 2 5 1 6 3 7
1 2 4 5 3 6 7
輸出樣例:
1 2 3 4 5 6 7
//**如下
#include
#include
using
namespace std;
typedef
struct nodetree;
int n, in[
100]
, pre[
100]
;tree*
creat
(int inleft,
int inright,
int preleft,
int preright)
int numleft = k - inleft;
root-
>lchild =
creat
(inleft, inleft + numleft -
1, preleft +
1, preleft + numleft)
; root-
>rchild =
creat
(k +
1, inright, preleft + numleft +
1, preright)
;return root;
}void
bfs(tree *root)
}int
main()
二叉樹的遍歷(前序,中序,後序,層次)
圖示前序遍歷 中序遍歷 後序遍歷 層次遍歷 先序遍歷 順序 根節點 左子樹 右子樹 中序遍歷 順序 左子樹 根節點 右子樹 後序遍歷 順序 左子樹 右子樹 根節點 層次遍歷 順序 按照層次遍歷 根節點 左子樹 右子樹 利用棧的思想 如果沒有右節點,我們將會繼續出棧,繼續訪問新出棧的右節點。如果有右節...
樹 二叉樹的前序 中序 後序 層次遞迴
在二叉樹的應用中,很多使用二叉樹的操作都是通過遍歷來進行節點的修改。所以對於遍歷而言是學習二叉樹的要點,今天就來總結一下。假設二叉樹的結構為 templatestruct binarytreenode t data binarytreenode left binarytreenode right 前...
前序中序,後序中序,層次遍歷和中序恢復二叉樹
typedef struct btnode btnode btnode createbt1 char pre,char in,int l1,int r1,int l2,int r2 前序和中序遍歷 s lchild createbt1 pre,in,l1 1,l1 i l2,l2,i 1 s rch...