主题:跪求~~~数据结构高手~~~帮帮菜鸟我啊,你们是我最后的希望啊~~谢谢.....
有哪位大哥懂的帮兄弟写一下共有四个要求 四个程序,万分感激
一、课程设计要求
课程设计报告要求按照如下几个内容认真完成;其中包括:
a)需求分析:
在该部分中叙述,每个模块的功能要求。
b)概要设计:
在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义。
c)详细设计
各个算法实现的源程序,对每个题目要有相应的源程序(可以是一组源程序,每个功能模块采用不同的函数实现)
源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。
d)调试分析
测试数据,测试输出的结果和每个模块设计和调试时存在问题的思考(问题是哪些?问题如何解决?),算法的改进设想。
e) 课设总结: (保存在word 文档中)总结可以包括 : 课程设计过程的收获、遇到问题、遇到问题解决问题过程的思考、程序调试能力的思考、对数据结构这门课程的思考、在课程设计过程中对《数据结构》课程的认识等内容;
二、课程设计内容
1、链表和队列的应用
[问题描述]航空客运订票系统
航空客运订票的业务活动包括:查询航线、客票预订和办理退票等。试设计一个航空客运订票系统,以便上述业务可以借助计算机来实现。
[实现要求]系统要求实现的操作和功能如下:
(1)查询航线:
根据旅客提出的终点站名输出如下信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额;
(2)承办订票业务:
根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若有余票,则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需重新询问客户要求。
然后查询该每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行周日(星期几)、乘客定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级1,2或3)
[实现提示]对于该系统来说,已订票客户名单和预约客户名单的数据需要使用特定的数据结构来实现。
(1)对于已订票客户名单来说,为了查找方便,已订票客户的名单可以为一个线性的数据结构,并且按客户姓名进行有序排列。另外,为了插入和删除数据的方便,应使用链表作为存储结构。
二、树的应用
1、 树的层次遍历:
[问题描述]已知以二叉链表做为存储结构,编写按层次顺序遍历二叉树的算法。
[实现提示]采用一个队列q,先将二叉树根结点入队列,然后退队列,输出该结点;若它有左子树,便将左子树根结点入队列;若它有右子树,便将右子树根结点入队列,如此直到队列空为止。
2、 二叉排序树
[问题描述] 已知二叉排序树以二叉树链表作存储结构,编写按从大到小的顺序输出二叉排序树的各个结点的算法。
[实现提示] 先建立一棵二叉排序树,以二叉链表表示。由于按中序遍历二叉排序树即按递增次序遍历,所以要按从大到小的顺序输出二叉排序树的各结点的值,可以对二叉排序树从树根结点中最右下的结点开始进行遍历,先遍历右子树,再访问根结点,最后遍历左子树,这样就可以得到一个按从大到小的顺序输出的序列。
三、图的应用
[问题描述] 很多涉及图上操作的算法都是以图的遍历作为基础的。试写一个程序,演示在连通的无向图上访问全部结点的操作。
[实现要求] 以邻接矩阵为存储结构的图进行dfs和bfs,以邻接表为存储结构的图进行dfs或bfs。以用户指定的结点为起点,分别输出每种遍历下的结点访问序列。
四、排序算法
[问题描述]给出n 个学生的考试成绩表,每条信息由姓名与分数组成,试设计一个算法(1)按分数高低次序打印出每个学生在考试中获得的名次,分数相同的为同一名次;(2)按名次列出每个学生的姓名和分数。
[实现要求]学生的考试成绩表必须通过键盘输入数据而建立,同时要对输出进行格式控制。分别用冒泡排序、快速排序和直接选择排序算法实现该问题,最后要对结果做简单分析。
一、课程设计要求
课程设计报告要求按照如下几个内容认真完成;其中包括:
a)需求分析:
在该部分中叙述,每个模块的功能要求。
b)概要设计:
在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义。
c)详细设计
各个算法实现的源程序,对每个题目要有相应的源程序(可以是一组源程序,每个功能模块采用不同的函数实现)
源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。
d)调试分析
测试数据,测试输出的结果和每个模块设计和调试时存在问题的思考(问题是哪些?问题如何解决?),算法的改进设想。
e) 课设总结: (保存在word 文档中)总结可以包括 : 课程设计过程的收获、遇到问题、遇到问题解决问题过程的思考、程序调试能力的思考、对数据结构这门课程的思考、在课程设计过程中对《数据结构》课程的认识等内容;
二、课程设计内容
1、链表和队列的应用
[问题描述]航空客运订票系统
航空客运订票的业务活动包括:查询航线、客票预订和办理退票等。试设计一个航空客运订票系统,以便上述业务可以借助计算机来实现。
[实现要求]系统要求实现的操作和功能如下:
(1)查询航线:
根据旅客提出的终点站名输出如下信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额;
(2)承办订票业务:
根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若有余票,则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需重新询问客户要求。
然后查询该每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行周日(星期几)、乘客定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级1,2或3)
[实现提示]对于该系统来说,已订票客户名单和预约客户名单的数据需要使用特定的数据结构来实现。
(1)对于已订票客户名单来说,为了查找方便,已订票客户的名单可以为一个线性的数据结构,并且按客户姓名进行有序排列。另外,为了插入和删除数据的方便,应使用链表作为存储结构。
二、树的应用
1、 树的层次遍历:
[问题描述]已知以二叉链表做为存储结构,编写按层次顺序遍历二叉树的算法。
[实现提示]采用一个队列q,先将二叉树根结点入队列,然后退队列,输出该结点;若它有左子树,便将左子树根结点入队列;若它有右子树,便将右子树根结点入队列,如此直到队列空为止。
2、 二叉排序树
[问题描述] 已知二叉排序树以二叉树链表作存储结构,编写按从大到小的顺序输出二叉排序树的各个结点的算法。
[实现提示] 先建立一棵二叉排序树,以二叉链表表示。由于按中序遍历二叉排序树即按递增次序遍历,所以要按从大到小的顺序输出二叉排序树的各结点的值,可以对二叉排序树从树根结点中最右下的结点开始进行遍历,先遍历右子树,再访问根结点,最后遍历左子树,这样就可以得到一个按从大到小的顺序输出的序列。
三、图的应用
[问题描述] 很多涉及图上操作的算法都是以图的遍历作为基础的。试写一个程序,演示在连通的无向图上访问全部结点的操作。
[实现要求] 以邻接矩阵为存储结构的图进行dfs和bfs,以邻接表为存储结构的图进行dfs或bfs。以用户指定的结点为起点,分别输出每种遍历下的结点访问序列。
四、排序算法
[问题描述]给出n 个学生的考试成绩表,每条信息由姓名与分数组成,试设计一个算法(1)按分数高低次序打印出每个学生在考试中获得的名次,分数相同的为同一名次;(2)按名次列出每个学生的姓名和分数。
[实现要求]学生的考试成绩表必须通过键盘输入数据而建立,同时要对输出进行格式控制。分别用冒泡排序、快速排序和直接选择排序算法实现该问题,最后要对结果做简单分析。