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

2021-10-05 09:45:25 字數 1268 閱讀 5430

問題描述:

假設二叉樹的元素為字元,採用二叉鏈式儲存。請編寫演算法完成:
(1)已知二叉樹的中序和後序遍歷序列,建立二叉樹;

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

輸入有三行:

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

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

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

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

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

level 1:

level 2:

例如:輸入 :

9hbdfaekcg

hdfbkgcea

result:

level 1:a

level 2:be

level 3:hfc

level 4:dkg

#include

#include

#include

using

namespace std;

struct node

;char las[

1000

],in[

1000];

node*

recreat

(int lasl,

int lasr,

int inl,

int inr)

int num=k-inl;

root-

>lson=

recreat

(lasl,lasl+num-

1,inl,k-1)

; root-

>rson=

recreat

(lasl+num,lasr-

1,k+

1,inr)

;return root;

}void

layer

(node* e)

queue> q;

e->l=1;

q.push

(e);

int l=1;

while

(!q.

empty()

)printf

("%c"

,temp-

>x);if

(temp-

>lson)

if(temp-

>rson)

}return;}

intmain()

資料結構與演算法實驗祝恩 《資料結構與演算法》實驗報告

保持青春的秘訣,是有一顆不安分的心。資料結構與演算法 實驗報告 模板 實驗題目 線性表綜合實驗 班級 姓名 學號 完成日期 一 實驗目的 熟悉線性表的基本操作在兩種儲存結構上的實現,其中以熟悉各種鍊錶的操作為重點。通過具體應用例項在複習高階程式語言使用方法的基礎上初步了解資料結構的應用。二 實驗內容...

《資料結構》實驗五 樹和二叉樹實驗

1.自己設計乙個二叉樹,深度最少為4,請遞迴演算法分別用前序 中序 後序遍歷輸出樹結點。前序遍歷源 ifndef tree h define tree h struct binode class tree tree void preorder private binode root binode c...

資料結構 上機實驗實驗要求 二叉排序樹 拓展

編寫演算法實現二叉排序樹的建立,插入與刪除操作。建立時是根據給定資料的無序序列,按照輸入順序建立 1.二叉排序樹的概念 二叉排序樹是一種動態樹表。二叉排序樹的定義 二叉排序樹或者是一棵空樹,或者是一棵具有如下性質的二叉樹 若它的左子樹非空,則左子樹上所有結點的值均小於根結點的值 若它的右子樹非空,則...