表示式樹的建立與輸出

2022-06-01 04:09:05 字數 983 閱讀 7480

題目要求:根據前序序列建立表示式數並輸出表示式。

這裡可以巧妙的使用遞迴演算法解決問題。

這裡主要是必須要理清操作符和運算元的關係。所有運算元都為葉子節點,操作符為雙親節點或者根節點。遇到'#'符號停止遞迴。

來自參考:

原始碼與注釋:

#include //

#include

//#include

using

namespace

std;

string

s;typedef

struct

nodenode;

void build(node* &tree)

}tree=new

node;

tree->data=sn;

build(tree->left); //

遞迴建立左子樹

build(tree->right); //

遞迴建立右子樹}}

void print_tree(node* tree)

}}int

main()

}node* tree=new

node;

tree->data=sn; //

葉子節點

build(tree->left); //

遞迴建立左子樹

build(tree->right); //

遞迴建立右子樹

print_tree(tree); //

列印表示式

printf("

\n"); //

輸出空行

}

return0;

}

表示式樹的建立與輸出

表示式樹的建立與輸出 編乙個程式,讀入先序遍歷字串,根據此字串建立一棵二叉樹 以指標方式儲存 請注意的是,我們保證該樹一定是表示式樹 見教材5.2 5.8 例如下面的先序遍歷字串 建立起此二叉樹以後,再按要求輸出二叉樹。輸入輸入由多組測試資料組成。每組資料報含一行字串,即表示式樹的先序遍歷序列,字串...

表示式樹的建立與輸出

題目描述 編乙個程式,讀入先序遍歷字串,根據此字串建立一棵二叉樹 以指標方式儲存 請注意的是,我們保證該樹一定是表示式樹 見教材5.2 5.8 例如下面的先序遍歷字串 每組資料報含一行字串,即表示式樹的先序遍歷序列,字串長度大於0且不超過100。輸出對於每組資料,輸出一行,內容是該表示式樹的全括號表...

表示式樹的建立與輸出

表示式樹的建立與輸出編乙個程式,讀入先序遍歷字串,根據此字串建立一棵二叉樹 以指標方式儲存 請注意的是,我們保證該樹一定是表示式樹 見教材5.2 5.8 例如下面的先序遍歷字串 13 5 9 運算子只可能是加減乘除,數值為小於等於100,各結點用空格分開,其中 代表空樹。建立起此二叉樹以後,再按要求...