数据结构综合实验任务书-总
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构综合实验任务书
本次课程设计安排在第19周,教师提供了26道选题,按照题目的难易程序度分为一类、二类及三类,一类选题9个,难度稍高,二类选题5个,难度中等,三类选题12个,难度较低。根据自身情况选题,必须保证自己完成。自选题必须事先由教师看过并同意才可以做。选题原则上一人一组形式进行。
课程设计按照软件工程的步骤进行,先写出需求分析,再进行概要设计和详细。基本要求是给出题中所涉及的数据的逻辑结构、存储结构、算法核心设计流程、输入输出、源程序、测试数据及结果,并在总结部分给出设计及实现过程中出现的问题及解决思路,探讨算法的改进方法。系统实现在Visual C++控制台环境下实现,要求有简单界面的设计,课程设计最后以设计报告及软件形式提交,设计报告按照指导书的要求编写。
课程设计从学习态度、程序运行及答辩情况、文档写作情况分项打分,学习态度包括考勤及投入情况,程序运行考查编码的独立完成情况、程序的执行情况及工作量大小,文档的写作包括需求分析文档的写作,概要设计和详细设计情况以及数据结构的定义情况等等。
课程设计第一天,必须写出需求分析和概要设计。
课程设计任务书
一类题(9个):
NO. 1
1、题目:工程求解
2、设计内容及要求:
✧内容:一个工程上的关键活动直接影响着整个工程的进展情况,要求实现关键路径上问
题的求解。
✧要求:
(1)画出AOE网,以边表示子工程,顶点表示子工程的开始和结束,边上权值表示子工程完成需要的时间,整个工程一个开始点,一个结束点。在计算机上以邻接表存储该AOE网。
(2)输出工期和影响工程进展的关键活动。
编程实现基本要求。
NO. 2
1、题目:哈夫曼编码/译码器的设计与实现
2、设计内容及要求:
✧内容:信息在通讯线路中是以编码形式进行传输的,在接收端采取一种译码的机制将信
息“译”出来。
✧要求:
(1)对下表所示字符及频度,建立哈夫曼树;
(2)输出每个字符的编码;
(3)利用哈夫曼树,对输入的报文进行编码,并将结果显示出来;
(4)利用哈夫曼树,对输入的译文进行译码。
NO. 3
1、题目:教学计划编制问题
2、设计内容及要求:
✧内容:大学的每个专业都要制定教学计划,课程在开设时间的安排上必须满足先修关系,
每门课程恰好开设一个学期,每门课都有对应学分,每个学期的学分总上限是一致的。
按照下表所示课程的先修关系,给图中的课程按7学期排课。
✧要求:
(1)在纸上表示出课程之间优先关系的有向图,并用邻接表存储图;
(2)给出课程的线性序列;
(3)设定每个学期的总学分上限,试排定一种课表。
NO. 4
1、题目:煤气管道铺设
2、设计内容及要求:
✧内容:若在n个城市之间铺设煤气管道,只需要架设n-1条线路即可。如何以最低的经
济代价铺设煤气管道。
✧要求:
(1)在纸上模拟设计n个城市的网络平面图,城市数不少于10个,相通的城市数不少于
2(n-1),顶点表示各城市,边表示城市间的距离。在计算机中表示该图;
(2)编写算法,求解最小代价煤气管道网络;
(3)输出该煤气管道网络中各边及其权值。
选择一种数据结构并编程实现基本要求。
NO. 5
1、题目:通信网络建设
2、设计内容及要求:
✧内容:若在n个城市之间建设通信网络,只需要架设n-1条线路即可。如何以最低的经
济代价建设这个通信网。
✧要求:
(1)在纸上模拟设计n个城市的网络平面图,城市数不少于10个,相通的城市数不少于
2(n-1),顶点表示各城市,边表示城市间的距离。在计算机中表示该图;
(2)编写算法,求解最小代价通信网络;
(3)输出该通信网络中各边及其权值。
选择一种数据结构并编程实现基本要求。
NO. 6
1、题目:校园导游咨询1
2、设计内容及要求:
✧内容:设计一个校园导游程序,为来访的客人提供各种信息查询服务
✧要求:
(1)模拟设计学校的平面图,景点不少于10个,顶点表示校园内各景点,有关景点的信
息包括名称、代号、简介等信息,边表示路径,存放路径长度。在计算机中表示该图;
(2)为来访客人提供图中任意景点相关信息的查询;
(3)为来访客人提供从某个起点到达任意景点的最短路径查询。
选择一种数据结构模拟此过程,编程实现基本要求。
1、题目:航班订票系统
2、设计内容及要求:
✧内容:航班客运订票业务活动包括:查询航线、客票预订和办理退票。试设计一个航
班订票系统,实现订票业务。
✧要求:
(1)录入,录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)(2)查询,查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);
(3)订票,可以订票,如果该航班有票,则输出座位号,如已经无票,则登记排队等候;已订票客户资料有姓名,证件号,订票数量及航班情况,订单要有编号,客户信息存储在链表中,并按姓名有序排列;未订上票客户信息放在队列中。
(4)退票:根据客户提供的情况(日期、航天班),办理退票手续,退票后查询该航班是否有人排队等候,按先登记先服务原则给等候者补票。
编写算法,并编程实现基本要求。
NO. 8
1、题目:算术表达式求值
2、设计内容及要求:
✧内容:以字符序列的形式从终端输入语法正确的、不含变量的整数表达式。选取教科书
表3.1中给出的算符优先关系的一部分,实现限定范围的算术四则混合运算表达式的求值
✧要求:选择一种数据结构模拟此过程,编写通用算法,采用C语言编程实现设计题目NO.9
1、题目:停车场管理
2、设计内容及要求:
✧内容:设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出,汽
车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车才可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场,每辆停放在车场的车按它停留的时间长短交费。试为停车场编制按以上要求进行管理的模拟程序。
✧要求:
(1)以栈模拟停车场,以队列模拟停车场外便道,按照从终端读入的输入数据序列进行
模拟管理。栈以顺序结构实现,队列以链表结构实现。
(2)给出数据的逻辑结构、存储结构、基本算法(使用程序流程图)、输入输出、源程序、测试数据和结果、算法的时间复杂度;
(3)探讨算法的改进方法;
在Visual C++控制台环境下实现软件,实现基本要求。
二类题:(5个)