《数据结构》课程设计参考题目(2012)

时间:2022-11-24 10:48:55 作者:壹号 字数:493字

《数据结构》课程设计参考题目

一、运动会分数统计——实习1(P79)

任务:参加运动会有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)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。

5)数据存入文件并能随时查询

6)规定:输入数据形式和范围:可以输入学校的名称,运动项目的名称

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

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

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

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

二、稀疏矩阵运算器

[问题描述]

设计一个稀疏矩阵运算器。 [设计要求]

以十字链表表示稀疏矩阵,实现两个矩阵相加、相减和相乘的运算。矩阵的输入输出均按通常的阵列形式。

三、停车场管理

[问题描述]

设停车场是一个可停放n辆车的狭长通道,且只有一个大门可供汽车进出。在停车场内,汽车按到达的先后次序,由北向南依次排列(假设大门在最南端)。若车场内已停满n辆车,则后来的汽车需在门外的便道上等候,当有车开走时,便道上的第一辆车即可开入。当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门后,其它车辆再按原次序返回车场。每辆车离开停车场时,应按其停留时间的长短交费(在便道上停留的时间不收费)。

[设计要求]

(1)要求以顺序栈模拟停车场,以链队列模拟便道。

(2)从终端读入汽车到达或离去的数据,每组数据包括三项:①是“到达”还是“离去”;②汽车牌照号码;③“到达”或“离去”的时刻。与每组输入信息相应的输出信息为:

如果是到达的车辆,则输出其在停车场中或便道上的位置;如果是离去的车辆,则输出其在停车场中停留的时间和应交的费用。

四、表达式求值

[问题描述]

一个算术表达式是由操作数(operand)、运算符(operator)和界限符(delimiter)组成的。假设操作数是正整数,运算符只含加减乘除等四种运算符,界限符有左右括号和表达式起始、结束符“#”,如:#(7+15)*(23-28/4)#。引入表达式起始、结束符是为了方便。编程利用“算符优先法”求算术表达式的值。

[设计要求]

(1)从键盘读入一个合法的算术表达式,利用算符优先关系,实现对算术四则混合运算的求值,输出正确的结果。

(2)显示输入序列和栈的变化过程。 [选作内容]

(1)扩充运算符集合。 (2)引入变量操作数。 (3)操作数类型扩充到实数。

五、迷宫问题——实习2(P105)

任务:可以输入一个任意大小的迷宫数据,用非递归的方法求出一条走出迷宫的路径,并将路径输出;

要求在上交资料中请写明:存储结构、基本算法(可以使用程序流程图)、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;

六、文学研究助手——实习3(P116) 七、压缩软件

[问题描述]

用哈夫曼编码设计一个压缩软件,能对输入的任何类型的文件进行哈夫曼编码,产生编码后的文件-压缩文件;也能对输入的压缩文件进行译码,生成压缩前的文件----解压文件。 [设计要求]

要求编码/译码效率尽可能高。

八、校园导游咨询

[问题描述]

设计一个校园导游程序,为来访的客人提供各种信息查询服务。 [设计要求]

设计校园平面图,景点不少于10个;为来访客人提供任意景点的相关信息查询;为来访客人提供任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。

1、基本要求:

…… 此处隐藏1484字 ……

利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序。 [设计要求]:

1)至少采用三种方法实现上述问题求解(提示,可采用的方法有插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序)。并把排序后的结果保存在不同的文件中。 2)统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中两种较快的方法。

3)如果采用4种或4种以上的方法者,可适当加分。

十五、树的应用

[问题描述]

实现树与二叉树的转换的实现。以及树的前序、后序的递归、非递归算法,层次序的非递归算法的实现,应包含建树的实现。 [设计要求]

遍历的内容应是千姿百态的。