資料結構與演算法 二叉樹的建立和輸出

2021-10-05 19:00:12 字數 1357 閱讀 9504

問題描述:

假設二叉樹的元素為字元,採用二叉鏈式儲存。請編寫演算法完成:

(1)已知二叉樹的中序和後序遍歷序列,建立二叉樹;

(2)實現二叉樹的分層輸出;

輸入有三行:

第一行,乙個整數n,是二叉樹中的元素(結點)個數;

第二行,二叉樹的中序遍歷序列

第三行,二叉樹的後序遍歷序列

輸出:如果二叉樹為空,則輸出「binary tree is empty!」

如果二叉樹不空,則二叉樹有幾層則輸出幾行:

level 1:

level 2:…輸入

9

hbdfaekcg

hdfbkgcea

輸出

level 1

:alevel 2

:belevel 3

:hfc

level 4

:dkg

#include

#include

#include

#include

using

namespace std;

const

int maxsize=

105;

typedef

struct node//結點結構體

node;

class

queue

//佇列

void

push

(node*x)

void

pop(

) node*

front()

node*

back()

intsize()

bool

empty()

bool

full()

};queue q;

class

bintree

//二叉樹類

;node*bintree::

in_post_create

(int n,string in,string post)

int bintree::

get_height

(node*subtree)

void bintree::

bfsorder

(node*subtree,

int height)

if(cur-

>rightchild!=

null)if

(next==cur&&i<=height-1)

q.pop();

}}intmain()

return0;

}

資料結構與演算法實驗 附加實驗 二叉樹的建立和輸出

問題描述 假設二叉樹的元素為字元,採用二叉鏈式儲存。請編寫演算法完成 1 已知二叉樹的中序和後序遍歷序列,建立二叉樹 2 實現二叉樹的分層輸出 輸入有三行 第一行,乙個整數n,是二叉樹中的元素 結點 個數 第二行,二叉樹的中序遍歷序列 第三行,二叉樹的後序遍歷序列 輸出 如果二叉樹為空,則輸出 bi...

資料結構和演算法 二叉樹建立和遞迴遍歷

完全二叉樹的建立以及遍歷 遞迴 include include 定義資料型別 typedef int datatype t 定義結構體 typedef struct nodebitree t 建立乙個二叉樹 n表示結點總數,i表示根結點 bitree t bitree create int n,da...

資料結構 線索二叉樹的建立和遍歷

include include include using namespace std define num 100 define busy 0 define rest 1 pragma warning disable 4996 typedef struct node tnode,tnode voi...