数据结构课程设计报告

发布 2022-10-05 19:19:28 阅读 4997

《数据结构》课程设计报告书。

姓名: 性别:

班级:学号:

日期:一、 课程设计题目:航班信息查询与检索。

二、 课程设计内容:

1、设计一个航班信息查询与检索系统,每个航班记录包括:航班号、起始站、终点站、起飞时间、到达时间、有效期。

2、要有输入模块。

3、对航班信息进行排序与查找。

三、 算法设计:

设计思路:根据题目要求,程序必须实现航班信息的录入和查询。程序首先定义一个用于储存航班信息的数据类型,再由用户录入航班数据,在录入的同时并对数据进行基数排序,最后执行数据查询和检索。

在查询设计中,使用折半查找法对排好序的航班数据按航班号实现快速查找,按起点站、终点站、起飞时间、到达时间查找的则采用顺序查询方法。用到了文件的一般概念。

主要算法流程图如下:

四、 程序正确性验证(指边界测试数据,即程序对于精心选择的典型、苛刻而带有刁难性的几组输入数据能够得出满足要求的结果)

截取的程序运**况如下图所示。

五、 课程设计过程**现的主要问题、原因及解决方法:

首先是要实现所要的功能需用什么数据结构的问题,比如排序问题究竟用那一种,在同学的帮助下和上网搜寻资料,采用基数排序最符合,程序无法运行 ,最后在大家的努力下一起修改错误使得程序可以正常运行。

六、 课程设计的主要收获:

1、 通过这次课程设计使我对平时课上所学的知识有了更加深刻的理解,增加了熟练应用的程度,对解决问题的思路和算法设计思想有了更深刻的认识,解决问题的思路是关键。

2、 这次课程设计使我看到了自身还存在着很多不足,对与一些基本的问题掌握的不是很扎实,在设计过程中平添了不少麻烦。要继续对知识进行巩固,加深印象。

3、 遇到问题要积极与同学或者是老师进行沟通,这样能够少走不少弯路。

4、 以后不管是做什么应定要用心才能做好,不能偷工减料。

七、 对今后课程设计的建议:

1、 今后的课程设计可以更加贴近于生活,贴近于现实,提高我们把书上学到的知识应用到现实生活中的能力,以及在现实社会中遇到问题的解决能力。

2、可以变换一种方式,减少或者是杜绝同学钻空子和偷工减料的机会。

附录(源程序**)

#include <>

#include <>

#include <>

#include <>

#define maxsize 50

typedef struct

void init_info(info *info_1,int &count)

fstream iofile(""ios::in|ios::out|ios::binary);

while(1)

info_1[count]=new info;

if(if(count) info_1[count-1]->next=info_1[count];

info_1[count]->next=null;

count++;

void insert_info(info *info_1,int &count)

info_1[count]=new info;

cout<<"航班号:";

cin>>info_1[count]->number;

cout<<"起点站:";

cin>>info_1[count]->start_station;

cout<<"终点站:";

cin>>info_1[count]->end_station;

cout<<"起飞时间(时分):"

cin>>info_1[count]->info_1[count]->

cout<<"到达时间(时分):"

cin>>info_1[count]->info_1[count]->

cout<<"有效期(年月日年月日):"

cin>>info_1[count]->date_>>info_1[count]->date_>>info_1[count]->date_

>>info_1[count]->date_>>info_1[count]->date_>>info_1[count]->date_

if(count) info_1[count-1]->next=info_1[count];

info_1[count]->next=null;

count++;

void distribute(info *info_1,info *info_2,info *info_3,int count,int state)

for(int i=0;i<26;i++)

info_2[i]=null;

info_3[i]=null;

for(int j=0;j

elsevoid collect(info *info_1,info *info_2,info *info_3)

for(int i=0,j=0;i<26;i++)

while(info_2[i])

void radix(info *info_1,info *info_2,info *info_3,int count)

for(int i=strlen(info_1[0]->number)-1;0<=i;i--)

distribute(info_1,info_2,info_3,count,i);

collect(info_1,info_2,info_3);

int bin_search(info *info_1,char *str,int low,int high)

int mid;

while(low<=high)

mid=(low+high)/2;

if(!strcmp(info_1[mid]->number,str))

return mid;

if(strcmp(info_1[mid]->number,str)<0)

low=mid+1;

elsehigh=mid-1;

return (-1);

void print(info *info_1,int state)

cout<<"航班号:"终点站:"到达时间:"<

<<"endl;

数据结构课程设计报告

东莞理工学院城市学院。题目 二叉排序树 专业 计算机科学与技术 本 年级 2010级计算机科学与技术专业 1 班。个人姓名 何振江。指导教师 张娟老师 时间 2010至2011第二学期第18周 地点 实验楼615机房 东莞理工学院城市学院计算机与信息科学系制。2011年 6月。实习报告的内容。一 问...

数据结构课程设计报告

设计一个校园导游程序,为来访的客人提供信息查询服务。1 设计学校的校园平面图。选取若干个有代表性的景点抽象成一个无向带权图 无向网 以图中顶点表示校内各景点,边上的权值表示两景点之间的距离。2 存放景点代号 名称 简介等信息供用户查询。3 为来访客人提供图中任意景点相关信息的查询。4 为来访客人提供...

数据结构课程设计报告

河北科技大学。课程设计报告。学生姓名学号。专业班级。课程名称数据结构。学年学期 2 012 2 013学年第 2 学期指导教师 黄春茹。2 0 13年 6 月。课程设计成绩评定表。一 数据结构课程设计目标。二 问题描述。三 需求分析。四 概要设计。五 详细设计。六 软件说明书 给出软件如何使用,使用...