問題 J 二叉樹遍歷

2021-07-13 21:36:37 字數 829 閱讀 1109

思路:主要是根據先序序列和中序序列求的原二叉樹,求二叉樹方法如下:

廣度優先遍歷二叉樹主要是利用棧來模擬佇列輸出,具體步驟及解釋如下。

#include 

#include

#include

#include

#include

using

namespace

std;

char q[30],z[30];

typedef

struct bitnode //建二叉樹

bitnode,*bitree;

char *p1,*p2;

bitree treeroot(char *q,char *z,int x)

p1 = q + 1;

p2 = z; //先序序列的首位址賦給p1,中序序列的首位址賦給p2;

n ->lchild = treeroot(p1,p2,i); //建立左子樹;

p1 = q + i + 1;

p2 = z + i + 1; //同上;

n ->rchild = treeroot(p1,p2,x-i-1);//建立右子樹;

return n;

}void bfs(bitree n) //利用佇列進行廣度優先遍歷,根據左右孩子的順序來輸出,所以就是先進先出的原則;

}int main()

return

0;}

二叉樹遍歷問題

給定二叉樹的先序遍歷和後序遍歷,計算可能有幾棵二叉樹 input 本問題有多組測試資料,第一行是測試資料的組數n,緊接著是n組測試資料。每組測試資料有兩行,分別表示二叉樹的先序遍歷和後序遍歷,每個結點用大寫字母表示,輸入保證資料是正確的。output 對於每一組輸入,對應的輸出只有一行,即符合給定的...

構建二叉樹 遍歷二叉樹

陣列法構建二叉樹 public class main public static void main string args 用陣列的方式構建二叉樹 public static void createbintree 把linkedlist集合轉成二叉樹的形式 for int j 0 j 最後乙個父節...

問題 D 二叉樹遍歷

編乙個程式,讀入使用者輸入的一串先序遍歷字串,根據此字串建立乙個二叉樹 以指標方式儲存 例如如下的先序遍歷字串 abc de g f 其中 表示的是空格,空格字元代表空樹。建立起此二叉樹以後,再對二叉樹進行中序遍歷,輸出遍歷結果。輸入包括1行字串,長度不超過100。可能有多組測試資料,對於每組資料,...