根據先序遍歷建立乙個二叉樹

2021-07-31 04:40:20 字數 727 閱讀 6389

編乙個程式,讀入使用者輸入的一串先序遍歷字串,根據此字串建立乙個二叉樹(以指標方式儲存)。

例如如下的先序遍歷字串:abc##de#g##f###

其中「#」表示的是空格,空格字元代表空樹。建立起此二叉樹以後,再對二叉樹進行中序遍歷,輸出遍歷結果。

輸入:輸入包括1行字串,長度不超過100。

輸出:可能有多組測試資料,對於每組資料,

輸出將輸入字串建立二叉樹後中序遍歷的序列,每個字元後面都有乙個空格。

每個輸出結果佔一行。

樣例輸入:

abc##de#g##f###

樣例輸出:

c b e g d f a

#include

#include

using

namespace

std;

struct bnode;

char data;

bnode* left;

bnode* right;

};//根據先序遍歷構建一棵二叉樹,返回root指標

bnode* constructbinarytree(const

string& preorder, unsigned& index)

//中序遍歷

void mediaorder(bnode* t)

}int main()

return

0;}

二叉樹 二叉樹遍歷 根據先序建立二叉樹

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

根據先序遍歷和中序遍歷建立二叉樹

先序遍歷的順序是根左右,中序遍歷的順序是左根右。根據這一特性,先序遍歷的第乙個元素肯定是根節點。所以我們只要在中序遍歷中找到該根節點的值,根節點以左就是它的左子樹,根節點以右就是它的右子樹,然後就可以遞迴的方式建立二叉樹 假設現在有一顆二叉樹如下 先序序列為 18,14,7,3,11,22,35,2...

根據二叉樹的先序遍歷和中序遍歷建立二叉樹

根據二叉樹的先序遍歷和中序遍歷建立二叉樹 rebacktree 根據二叉樹的先序遍歷和中序遍歷建立二叉樹。rebacktree1 根據二叉樹的後序序遍歷和中序遍歷建立二叉樹。include stdio.h include stdlib.h typedef struct node node,nodep...