《数据结构》课程设计任务书(2)

2019-01-26 21:03

是几号 ,建立一个函数来实现此功能 11.统计二叉树的结点个数

任务:建立二叉树,统计二叉树中度为2的结点个数和叶子结点个数( 用递归或非递归的方法都可以,先序、中序或后序均可)(*) 要求:能够输入树的各个结点;分别建立二叉树存储结构的输入函数、输出度为2的结点及个数的函数、输出叶子结点及个数的函数; 12.线索二叉树(**)

任务:

(1)建立中序线索二叉树,并且中序遍历;

(2)求中序线索二叉树上已知结点中序的前驱和后继; 13.二叉排序树的基本操作(**)

任务: 编写算法实现对依次输入的关键字序列建立二叉排序树,并能实现二叉排序树的查找、插入和删除运算。 14. 运动会分数统计(**)

任务:参加运动会有n个学校,学校编号为1??n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1??m,女子m+1??m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些项目取前五名或前三名由学生自己设定。(m<=20,n<=20)

功能要求:

(1)可以输入各个项目的前三名或前五名的成绩; (2)能统计各学校总分,

(3)可以按学校编号、男女团体总分排序输出;

(4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。

规定:输入数据形式和范围:20以内的整数(如果做得更好可以输入学校的名称,运动项目的名称)

输出形式:有中文提示,各学校分数为整形

界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。

存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;

相关数据结构(参考):

项目名次及分值 :用二位数组Score[m+w][5];

单项获奖情况登记表(项目编号,获奖名次、获奖学校,得分(自动得分)) 学校获奖名次表(学校编号,团体总分,名次)

测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;

15.宿舍管理查询软件(**)

任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求: (1)采用交互工作方式

(2)可以增加、删除、修改信息

(3)建立数据文件 ,数据文件按关键字(姓名、学号、房号)进行排序(选择、快速排序、堆排序等任选一种)

(4) 查询 : a.按姓名查询 ;b.按学号查询 ;c按房号查询 (5) 打印任一查询结果(可以连续操作) 16.最小生成树问题(**)

【问题描述】

若要在n个城市之间建设通信网络,只需要假设n-1条线路即可。如何以最低的经济代价建设这个通信网,是一个网的最小生成树问题。

【系统要求】

(1)利用克鲁斯卡尔算法求网的最小生成树。 (2)利用普里姆算法求网的最小生成树。 (3)要求输出各条边及它们的权值。 【测试数据】

由学生任意指定,但报告上要求写出多批数据测试结果。 【实现提示】

通信线路一旦建成,必然是双向的。因此,构造最小生成树的网一定是无向网。设图的顶点数不超过30个,并为简单起见,网中边的权值设成小于100的整数,可利用C语言提供的随机函数产生。

图的存储结构的选取应和所作操作相适应。为了便于选择权值最小的边,此题的存储结构既不选用邻接矩阵的数组表示法,也不选用邻接表,而是以存储边(带权)的数组表示图。

【选作内容】

利用堆排序实现选择权值最小的边。 17.平衡二叉排序树的实现(**)

【系统要求】

(1)用二叉链表作存储结构,以回车('\\n')为输入结束标志,输入数列L,生成一棵平衡的二叉排序树T,并以直观的方式显示在终端上;

(2)对二叉排序树T作中序遍历,输出结果;

(3)输入元素x,查找二叉排序树T,若存在含x的结点,则删除该结点,并作中序遍历(执行操作2);否则输出信息“无x”,并将x插入该二叉排序树中。

注意:插入、删除应保证二叉排序树的平衡性。 18.商店存货管理系统(**)

功能:建立一商店存货管理系统,要求每次出货时取进货时间最早且最接近保质期中止时间的货物。

分步实施:

(1)初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; (2)完成最低要求:建立一个文件,包括5个种类的货物情况,能对商品信息进行扩充(追加),修改和删除以及简单的排序;

(3)进一步要求:扩充商品数量,以及完成系统查询功能。有兴趣的同学可以自己扩充系统功能。 19.售票处的服务系统(***)

【问题描述】

航空客运订票的业务活动包括:查询航线、客票预订和办理退票等。试设计一个航空客运订票系统,以使上述业务可以借助计算机来完成。

【系统要求】

设民航售票处的计算机系统可以为客户提供下列各项服务:

(1)查询航线:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额;

(2)承办订票业务:根据客户提出的要求(日期、航班号、订票数额)查询该航班票额情况,若尚有余额,则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需要重新询问客户要求。若需要,可预约登记排队等候。 (3)承办退票业务:根据客户提供的情况(日期、航班、退票数额),为客户办理退票手续,然后查询该航班是否有人预约登记,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队预约的客户。

【测试数据】

由学生任意指定,但报告上要求写出多批数据测试结果。 【实现提示】

每条航线应包含的信息有:终点站名、航班号、飞机号、飞行日期(星期几)、乘员定额、余票额、已订票的客户名单(包括姓名、订票额、座位号)和预约登记的客户名单(包括日期、姓名、所需票额)。这最后两项显然是一个线性表和一个队列。为查找方便、已订票客户的线性表应按客户姓名有序,并且,为插入和删除方便,应以链表作存储结构。由于预约人数无法预料,队列也应以链表作存储结构。整个系统需汇总各条航线的情况登录在一张线性表上,由于航线基本不变,可采用顺序存储结构,并按航班有序或按终点站名有序。每条航线是这张表上的一个记录,包含上述八个域,其中乘员名单域为指向乘员名单链表的头指针,预约登记客户名单域为分别指向队头和队尾的指针。

【选做内容】

当客户订票要求不能满足时,系统可向客户提供到达同一目的地的其它航线情况。

大家还可以充分发挥自己的想象力,增加你的系统的功能和其它服务项目。 20.中国道路交通网络信息查询系统(****)

【问题描述】

出于不同的目的的旅客对交通工具有不同的要求。例如,因公出差的旅客希望在旅途中的时间尽可能短,出门旅游的游客则期望旅费尽可能省,而老年旅客则要求中转次数最少。编制一个全国城市间的交通咨询程序,为旅客提供两种或三种最优决策的交通咨询。

【基本要求】

(1)提供对城市信息进行编辑(如:添加或删除)的功能。

(2)城市之间有两种交通工具:火车和飞机。提供对列车时刻表和飞机航班进行编辑(增设或删除)的功能。

(3)提供两种最优决策:最快到达或最省钱到达。全程只考虑一种交通工具;

(4)旅途中耗费的总时间应该包括中转站的等候时间;

(5)咨询以用户和计算机的对话方式进行。由用户输入起始站、终点站、最优决策原则和交通工具,输出信息:最快需要多长时间才能到达或者最少需要多少旅费才能到达,并详细说明依次于何时乘坐哪一趟列车或哪一次班机到何地。

【测试数据】

参考《数据结构》清华版7.6节图7.33的全国交通图,自行设计列车时刻表和飞机航班。

【实现提示】

(1)对时刻表和飞机航班进行编辑,应提供文件输入和键盘输入两种形式。飞机航班信息包括:起始站的出发时间、终点站的到达时间和票价;列车时刻表则需根据交通图给出各个路段的详细信息,如:对从北京到上海的火车,给出北京至天津、天津至徐州及徐州至上海各段的出发时间、到达时间及票价等信息。 (2)以邻接表作交通图的存储结构,表示边的结构内除含有邻接点的信息外,还包括交通工具、路途中耗费的时间和花费以及出发和到达时间等多种属性。

【选做内容】

增加旅途中中转次数最少的最优决策。 21.学生自选课题

学生原则上可以结合个人爱好自选课题,要求自选课题必须覆盖数据结构的主要内容,有一定的深度与难度,有一定的算法复杂性,能明确体现数据抽象与组织、算法设计与性能分析以及编码实现等过程。学生自选课题需提前报课程设计指导教师批准方可生效。 四、成绩考核

根据完成任务的情况(必须进行系统验收 + 答辩)、课程设计报告书的质量和课程设计过程中的工作态度等按照50%、30%、20%加权综合打分。成绩评定


《数据结构》课程设计任务书(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:西林钢铁集团有限公司工艺结构优化升级技术改造二期工程环境影响

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: