當前位置:文檔之家 > 數據結構實驗報告

數據結構實驗報告

數據結構實驗報告

一.題目要求

1)編程實現二叉排序樹,包括生成、插入,刪除;

2)對二叉排序樹進行先根、中根、和后根非遞歸遍歷;

3)每次對樹的修改操作和遍歷操作的顯示結果都需要在屏幕上用樹的形狀表示出來。

4)分別用二叉排序樹和數組去存儲一個班(50人以上)的成員信息(至少包括學號、姓名、成績3項),對比查找效率,并說明在什么情況下二叉排序樹效率高,為什么?

二.解決方案

對于前三個題目要求,我們用一個程序實現代碼如下

#include

#include

#include

#include "Stack.h"http://棧的頭文件,沒有用上

typedefintElemType; //數據類型

typedefint Status; //返回值類型

//定義二叉樹結構

typedefstructBiTNode{

ElemType data; //數據域

structBiTNode *lChild, *rChild;//左右子樹域

}BiTNode, *BiTree;

intInsertBST(BiTree&T,int key){//插入二叉樹函數

if(T==NULL)

{

T = (BiTree)malloc(sizeof(BiTNode));

T->data=key;

T->lChild=T->rChild=NULL;

return 1;

}

else if(keydata){

InsertBST(T->lChild,key);

}

else if(key>T->data){

InsertBST(T->rChild,key);

}

else

return 0;

}

BiTreeCreateBST(int a[],int n){//創建二叉樹函數

BiTreebst=NULL;

inti=0;

while(i

玖玖资源3658稳定更新