資料結構實驗五樹

2021-03-03 23:54:00 字數 1131 閱讀 1336

1、掌握二叉樹的基本特性

2、掌握二叉樹的遞迴遍歷演算法

3、理解二叉樹的非遞迴演算法

4、通過二叉樹的深度和層次遍歷演算法,理解二叉樹的基本特性

1、閱讀並執行下面程式,根據輸入寫出執行結果,並畫出二叉樹的形態。

#include

#include

#define max 20

typedef struct btnode節點結構宣告*/

char data節點資料*/

struct btnode *lchild;

struct btnode *rchild ; /*指標*/

}*bitree;

void createbitree(bitree *t)

q=(bitree)malloc(sizeof(struct btnode));

if(q==null)

q->data=s;

*t=q;

createbitree(&q->lchild); /*遞迴建立左子樹*/

createbitree(&q->rchild); /*遞迴建立右子樹*/

}void preorder(bitree p)

}void inorder(bitree p)

}void postorder(bitree p)

}void preorder_n(bitree p)

}void release(bitree t)

}int main()

● 執行程式

輸入:abc##de#g##f###

執行結果:

2、在上題中補充求二叉樹中求結點總數演算法(提示:可在某種遍歷過程中統計遍歷的結點數),並在主函式中補充相應的呼叫驗證正確性。

演算法**:

3、在上題中補充求二叉樹中求葉子結點總數演算法(提示:可在某種遍歷過程中統計遍歷的葉子結點數),並在主函式中補充相應的呼叫驗證正確性。

演算法**:

4、在上題中補充求二叉樹深度演算法,並在主函式中補充相應的呼叫驗證正確性。

演算法**:

選做實驗:(**可另附紙)

5、補充二叉樹層次遍歷演算法。(提示:利用佇列實現)

6、補充二叉樹中序、後序非遞迴演算法。

三、實驗小結

四、教師評語

資料結構實驗九 二叉樹實驗

一,實驗題目 設二叉樹採用鏈式儲存結構,試設計乙個演算法計算一顆給定二叉樹中葉子結點的數目。二,問題分析 本程式要求實現計算一顆給定的採用鏈式儲存結構的二叉樹中葉子結點的數目。首先需要用連是儲存結構建立一顆二叉樹,再對該二叉樹先序遍歷輸出,再利用計算葉子結點個數函式計算出葉子結點即可。資料的輸入形式...

資料結構試驗 樹

2008級資料結構實驗報告 實驗名稱 實驗三 樹 學生姓名 班級 班內序號 學號 日期 2009年11月22日 1 實驗要求 根據二叉樹的抽象資料型別的定義,使用二叉鍊錶實現乙個二叉樹。二叉樹的基本功能 1 二叉樹的建立 2 前序遍歷二叉樹 3 中序遍歷二叉樹 4 後序遍歷二叉樹 5 按層序遍歷二叉...

資料結構第五章樹答案

第五章樹 答案 一 選擇題 1 二叉樹的第i層最多有 個結點。a 2i b.2ic.2i 1d.2i 1 2.對於一棵滿二叉樹,高度為h,共有n個結點,其中有m個葉子結點,則 a n h m b.h m 2n c.m h 1d.n 2h 1 3.在一棵二叉樹中,共有16個度為2的結點,則其共有個葉子...