2014-数据结构课程设计题目

1、运动会分数统计 问题描述:

参加运动会的n个学校编号为1~n。比赛分成m个男子项目和w个女子项目,项目编号分别为1~m和m+1~m+w。由于各项目参加人数差别较大,有些项目取前五名,得分顺序为7,5,3,2,1;还有些项目只取前三名,得分顺序为5,3,2。哪些项目取前五名或前三名由学生自己设定。写一个统计程序产生各种成绩单和得分报表。 基本要求:

(1)各项目结束时,输入前三名或前五名的项目编号、运动员姓名、校名和名次(成绩); (2)产生各学校的成绩单,内容包括每个学校所取得的每项成绩的项目号、名次(成绩)、姓名和得分,并统计各学校总分;

(3)可以按学校编号、男女团体总分排序输出; (4)可以按学校编号查询学校某个项目的情况; (5)可以按项目编号查询取得前三或前五名的学校。 2、集合的并、交和差运算的程序 问题描述:

编制一个能演示执行集合的并、交和差运算的程序。 基本要求:

⑵ 集合的元素限定为小写字母符[′a′….′z ′],集合的大小n<27。 ⑵集合输入的形式为一个以\回车符\为结束标志的字符串,串中字符顺序不限,且允许出现重复字符或非法字符,程序应能自动滤去。

⑶输出的运算结果字符串中将不含重复字符或非法字符。 ⑷演示程序以用户和计算机的对话方式执行。 3、长整数的加法运算 问题描述:

设计一个实现任意长的整数进行加法、减法运算的演示程序。 基本要求: 1利用链表实现长整数的存储,每个结点含一个整型变量。 2任何整型变量的范围是-(2^15-1)~(2^15-1)。

3输入和输出形式按照中国对于长整数的表示习惯,每四位一组,组间用逗号隔开。 如:-2345,6789,3211;

4、一元多项式计算器 问题描述:

设有一元多项式Am(x) 和Bn(x).

123m

Am(x) = A0+A1x+A2x+A3x+… +Amx

123n

Bn(x) = B0+B1x+B2x+B3x+… +Bnx

试求M(x)= Am(x)+Bn(x)、M(x)= Am(x)-Bn(x)和M(x)= Am(x)×Bn(x)。 基本要求:

⑴首先判定多项式是否稀疏; ⑵分别采用顺序和链式结构实现;

⑶结果M(x)中无重复阶项和无零系数项; ⑷要求输出结果的升幂和降幂两种排列情况。 5、车厢调度问题 问题描述:

假设停在铁路调度站(如教科书中图3.1(b)所示)入口处的车厢系列的编号依次为1,2,3,…n。设计一个程序,求出所有可能由此输出的长度为n 的车厢系列。 基本要求:

⑴设计一个程序,求出由一个编号依次为1,2,、、、,n的车厢序列可能产生的所有出栈系列。 ⑵利用双向栈存储结构实现调度站和输出序列这两个栈的空间共享。 ⑶对于每个输出序列演示出所有操作序列的变化过程 。 6、文章编辑 问题描述:

输入一页文字,可以统计出文字、数字、空格的个数。 基本要求:

⑴静态存储一页文章,每行最多不超过80个字符,共N行。 ⑵分别统计出其中英文字母和空格数及整篇文章总字数。 ⑶统计某一字符串在文章中出现的次数,并输出该次数。 ⑶删除某一子串,并将后面的字符前移。

⑷存储结构使用线性表,分别用几个子函数实现相应的功能。

7、广义表的应用

要求实现的广义表的建立、查找、输出、取表头和取表尾以及求深度等。

本设计用一个主控菜单程序控制,共分为6个子系统。 (1)建立广义表 (2)输出广义表 (3)结点的查找 (4)求广义表表头 (5)求广义表表尾 (6)求广义表的深度 8、哈夫曼树及其编码 问题描述:

设计一个利用哈夫曼算法的编码系统,重复地显示并处理以下项目,直到选择退出为止。 基本要求:

⑴初始化:键盘输入字符集大小n、n个字符和n个权值,建立哈夫曼树; ⑵编码:利用建好的哈夫曼树生成哈夫曼编码; ⑶ 输出其哈夫曼树及哈夫曼编码; ⑷ 设字符集及频度如下表:

字符 空格 A B C D E F G H I J K L M 频度 197 64 13 22 32 103 21 15 47 57 5 1 20 32 字符 N O P Q R S T U V W X Y Z 频度 57 63 1 15 48 16 80 23 8 18 1 51 1 9、校园导游咨询系统的设计与实现 问题描述:

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

⑴设计华东交通大学南区的校园平面图,所含景点不少于10个。以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。 ⑵为来访客人提供图中任意景点相关信息的查询。

⑶为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。 10、地图着色问题 问题描述:

设计地图着色软件,对江西地图中11个地级市进行着色,要求相邻地级市所使用的颜色不同,并保证使用的颜色最少。 基本要求:

⑴地图采用图型数据结构,每个地级市为一个节点,边表示对应的两个地级市相邻。 ⑵设计着色算法,保证邻接点不是同一种颜色。 ⑶演示程序以用户和计算机的对话方式进行。 11、内部排序算法比较 问题描述:

试通过随机数据比较各算法的关键字比较次数和关键字移动次数,以取得直观感受。 基本要求:

⑴至少采用三种方法实现上述问题求解(提示,可采用的方法有插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序)。

⑵待排序表的表长不小于100,其中的数据要用伪随机数产生程序产生;至少要用5组不同的输入数据作比较;比较的指标为有关键字参加的比较次数和关键字的移动次数(关键字交换计为3次移动)。 ⑶最后对结果作出简单分析,包括对各组数据得出结果波动大小的解释。 12、哈希表的设计与实现——线性探测再散列 问题描述:

设计哈希表实现电话号码查找系统。 基本要求:

⑸ 设每个记录有下列数据项:电话号码、用户名、地址;

⑹ 从键盘输入各记录,分别以电话号码和用户名为关键字建立不同的哈希表; ⑺ 采用线性探测再散列的方法解决冲突; ⑻ 查找并显示给定电话号码的记录; ⑼ 查找并显示给定用户名的记录。

13、哈希表的设计与实现——二次探测再散列 问题描述:

设计哈希表实现电话号码查找系统。 基本要求:

(1)设每个记录有下列数据项:电话号码、用户名、地址;

(2)从键盘输入各记录,分别以电话号码和用户名为关键字建立不同的哈希表; (3)采用二次探测再散列的方法解决冲突; (4)查找并显示给定电话号码的记录; (5)查找并显示给定用户名的记录。 14、哈希表的设计与实现——链地址法 问题描述:

设计哈希表实现电话号码查找系统。 基本要求:

(1)设每个记录有下列数据项:电话号码、用户名、地址;

(2)从键盘输入各记录,分别以电话号码和用户名为关键字建立不同的哈希表; (3)采用链地址法解决冲突;

(4)查找并显示给定电话号码的记录; (5)查找并显示给定用户名的记录。 15、火车售票系统的设计与实现 问题描述:

通过此系统可以实现售票、退票、车票剩余情况查询等功能。每张车票包含车次、车厢、座位信息。 基本要求:

⑴在售票、退票、查询剩余票等环节中,都必须显示出车票的信息,即车次、车厢、座位情况。 ⑵为简单起见,在此假设所有出售的车票均为同一车次的车票。

⑶退票时,必须是车站售出的车票才能退,否则视为无效票,不能退票,而且退票可以再次销售。 16、图书管理系统的设计与实现 问题描述:

设计一个计算机管理系统完成图书管理基本业务。 基本要求:

⑴每种书的登记内容包括书号、书名、著作者、现存量、库存量和借阅信息;

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4