演算法筆記 問題 D 二叉樹遍歷

2021-10-18 01:19:17 字數 916 閱讀 2850

題目描述

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

例如如下的先序遍歷字串:

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

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

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

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

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

每個輸出結果佔一行。

樣例輸入 copy

a#b#cdef#####

a##

樣例輸出 copy

a b f e d c 

a

#include using namespace std;

const int maxn = 50;

int i;

struct nodebitree;

char pre[maxn];

/*重建*/

node* restore()

node* root = new node;

root->data = pre[i];

i++;

root->lchild = restore();

root->rchild = restore();

return root;

}/*中序*/

void inorder(node* root)

inorder(root->lchild);

printf("%c ", root->data);

inorder(root->rchild);

}int main()

return 0;

}

問題 D 二叉樹遍歷

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

問題 D 二叉樹遍歷

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

問題 D 二叉樹遍歷

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