1 / 12
文档名称:

数据结构实验报告.docx

格式:docx   大小:118KB   页数:12页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构实验报告.docx

上传人:分享精品 2018/5/11 文件大小:118 KB

下载得到文件列表

数据结构实验报告.docx

相关文档

文档介绍

文档介绍:数据结构实验报告
题目要求
1) 编程实现二叉排序树,包括生成、插入,删除;
2) 对二叉排序树进行先根、中根、和后根非递归遍历;
3) 每次对树的修改操作和遍历操作的显示结果都需要在屏幕上用树的形状表示出来。
4)分别用二叉排序树和数组去存储一个班(50人以上)的成员信息(至少包括学号、姓名、成绩3项),对比查找效率,并说明在什么情况下二叉排序树效率高,为什么?
解决方案
对于前三个题目要求,我们用一个程序实现代码如下
#include<>
#include <>
#include <>
#include "" //栈的头文件,没有用上
typedef int ElemType; //数据类型
typedef int Status; //返回值类型
//定义二叉树结构
typedef struct BiTNode{
ElemType data; //数据域
struct BiTNode *lChild, *rChild;//左右子树域
}BiTNode, *BiTree;
int InsertBST(BiTree &T,int key){//插入二叉树函数
if(T==NULL)
{
T = (BiTree)malloc(sizeof(BiTNode));
T->data=key;
T->lChild=T->rChild=NULL;
return 1;
}
else if(key<T->data){
InsertBST(T->lChild,key);
}
else if(key>T->data){
InsertBST(T->rChild,key);
}
else
return 0;
}
BiTree CreateBST(int a[],int n){//创建二叉树函数
BiTree bst=NULL;
int i=0;
while(i<n){
InsertBST(bst,a[i]);
i++;
}
return bst;
}
int Delete(BiTree &T)
{
BiTree q,s;
if(!(T)->rChild){ //右子树为空重接它的左子树
q=T;
T=(T)->lChild;
free(q);
}else{
if(!(T)->lChild){ //若左子树空则重新接它的右子树
q=T;
T=(T)->rChild;
}else{
q=T;
s=(T)->lChild;
while(s->rChild){
q=s; s=s->rChild;
}
(T)->data=s->data; //s指向被删除结点的前驱
if(q!=T)
q->rChild=s->lChild;
else
q->lChild=s->lChild;
free(s);
}
}
return 1;
}
//删除函数,在T中删除key元素
int DeleteBST(BiTree &T,int key){
if(!T) return 0;
else{
if(key==(T)->data) return Delete(T);
else{
if(key<(T)->data)
return DeleteBST(T->lChild,key);
else
return DeleteBST(T->rChild,key);
}
}
}
int PosttreeDepth(BiTree T){//求深度
int hr,hl,max;
if(!T==NULL){
hl=PosttreeDepth(T->lChild);
hr=PosttreeDepth(T->rChild);
max=hl>hr?hl:hr;
return max+1;
}
else
return 0;

}
void printtree(BiTree T,int nlayer){//打印二叉树
if(T==NULL) return ;
printtree(T->rChild,nlayer+1);
for(int i=0;i<nlayer;i++){
printf(" ");
}
printf("%d\n",T->data);
printtree(T->lChild,nlayer+1);
}
void PreOrderNoRec(BiTree root)//先

最近更新

2024年河北能源职业技术学院单招职业适应性测.. 57页

2024年浙江省温州市行政职业能力测验题库有解.. 147页

2024年湖南财经工业职业技术学院单招职业适应.. 57页

2024年西双版纳职业技术学院单招职业适应性测.. 58页

2024年辽宁省盘锦市行政职业能力测验题库及完.. 148页

2024年黑龙江省大庆市行政职业能力测验题库(.. 148页

上海市事业单位招聘考试(职业能力倾向测验).. 147页

公共基础知识内蒙古锡林郭勒盟选调生考试(行.. 146页

公共基础知识山东省莱芜市选调生考试(行政职.. 146页

公共基础知识河南省信阳市选调生考试(行政职.. 146页

公共基础知识湖南省衡阳市选调生考试(行政职.. 148页

吉林省辽源市事业单位招聘考试(职业能力倾向.. 146页

宁夏固原市住房公积金管理中心2024年招聘历年.. 61页

山东省莱芜市事业单位招聘考试(职业能力倾向.. 148页

广东省阳江市选调生考试(行政职业能力测验).. 147页

江苏省扬州市事业单位招聘考试(职业能力倾向.. 148页

江西省南昌市事业单位招聘考试(职业能力倾向.. 148页

江西省鹰潭市事业单位招聘考试(职业能力倾向.. 148页

海口市选调生考试(行政职业能力测验)综合能.. 147页

蚌埠市2024年上半年公开招聘事业单位工作人员.. 58页

辽宁省抚顺市事业单位招聘考试(职业能力倾向.. 147页

重庆建筑工程职业学院2024年公开招聘事业单位.. 59页

2021年中考一模测试《语文试卷》附答案解析 12页

乘除混合运算及解决实际问题 8页

土木工程材料期末考试题库 32页

收储地块社会稳定风险评估报告 23页

沪教牛津版四年级下册英语全册教案(2021年春修.. 101页

基于STC89C52单片机的数字温度计(附源代码,完.. 16页

2024年安徽省普通高中学业水平测试卷 5页

2023年北美电商市场研究报告 54页