数据结构课程设计题目_第1页
数据结构课程设计题目_第2页
数据结构课程设计题目_第3页
数据结构课程设计题目_第4页
数据结构课程设计题目_第5页
已阅读5页,还剩5页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据结构课程设计题目

1、运动会分数统计

任务:参加运动会有n个学校,学校编号为1……a比赛分成m个男子项目,和井个

女子项目。项目编号为男子1……m,女子好1……m-hvo不同的项目取前五名或者前三名枳分;

取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或

者前三名由学生自己设定。(m<=20,水=20)

功能要求:

产生名学校的成绩单,内容包括名校所取得的每项成绩的项目号,名次,姓名和得分;产

生团体总分报表,内容包括校号,男子团体总分,女子团体总分和团体总分.

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

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

存储结构:

学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件

中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最

后的卜.交资料中指明你用到的存储结构;

测试数据:

要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以

保证程序的稳定。测试数据及测试结果请在上交的资料中写明;

2、约瑟夫环

问题描述:

编号为1,2…n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)c—

开始任选一个正整数作为报数的上限值m,从第一个人开始按顺时针方向自1开始顺序报数,

报到m时住手报数,报n的人出列,将他的密码作为新的m值,从他的顺时针方向上的下一

个开始重新从1报数,如此下去,直至所有人全部出列为止,设计一个程序求出出列顺序。

基本要求:

1、利用单循环链表作为存储结构摹拟此过程;

2、键盘输入总人数、初始报数上限值m及各人密码;

3、按照出列顺序输出各人的编号。

3、算术表达式求值演示

任务:

表达式计算是实现程序设计语言的基本问题之一,也是栈的应用的一个典型例子

设计一个程序,实现利用算符优先算法计算算术表达式求值。

基本要求:

(1)通过键盘输入表达式字符序列,并转换为整数表达式。

(2)进行输入合法性验证,对于错误表达式给出提示;

(3)对算术运算表达式求值,对于正确的表达式给出最后的结果

(4)运算符包括乘方,开方,单目减等运算符

界面要求:有合理的提示,每一个表达式求值结束后,根据提示,决定是否进行下一个

表达式的计算;

提示:

(1)设置运算符找和运算数栈辅助分析算符优先关系;

(2)在读入表达式的字符序列的同时,完成运算符和运算数的识别处理,以及相应

的运算;

(3)在识别出运算数的同时,要将其字符序列形式转换成整数形式;

(4)在程序的适当位置输出运算符栈,运算数栈,输入字符和主要操作的内容。

4、停车场管理系统

设计内容:

设有一个可以停放n辆汽车的狄长停车场,它惟独一个大门可以供车辆进出。车辆按到

达停车场时间的早晚挨次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场

的最里面)。如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一

旦停车场内有车开走,则排在便道上的笫一辆车就进入停车场。停车场内如有某辆车要开走,

在他之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆在依

原来的次序进场。每辆车在离开停车场时,都应依据它在停车场内停留的时间长短交费。如

果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上

等待的车辆的次序。编制一程序摹拟该停车场的管理。

设计目的:

(1)掌握栈和队列的建立。

(2)掌握栈和队列的基本操作。

(3)深入了解栈和队列的特性,以便在解决实际问题中灵便运用它们。

(4)加深对枝和队列的理解和认识。

设计要求:

(1)以栈摹拟停车场,以队列摹拟车场外的便道,按照从终端读入的输入数据序列进行摹拟

管理。

(2)每一组输入数据包括三个数据项:汽车“到达”或者“离去”信息、汽车牌照号码以

及到达或者离去的时刻。

(3)对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停车场或者

便道上的停车位置;若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费庄(在

便道上停留的时间不收费,功能可自己添加)。

5、文章编辑

功能:输入一页文字,程序可以统计出文字、数字、空格的个数。

静态存储一页文章,每行最多不超过80个字符,共N行;要求(1)分别统计出其中英

文字母数和空格数及整篇文章总字数:(2)统计某一字符串在文章中浮现的次数,并输出

该次数;(3)替换某一子串,输出结果。

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

输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。

输出形式:(D分行输出用户输入的各行字符;(2)分4行输出全部字母数、数

字个数、空格个数、文章总字数(3)输出替换某一字符串后的文章:

6、简易文本编辑器

要求:

1)具有图形菜单界面;

2)查找,替换(等长,不等长),插入(插串,文本块的插入)、块挪移(行块,列块移

动),删除

3)可正确存盘、取盘;

4)正确显示总行数。

7、特殊矩阵的压缩存储算法的实现

问题描述:对于特殊矩阵可以通过压缩存储减少存储空间。

基本要求:

1)针对多种特殊矩阵进行压缩存储,并能显示压缩后的相关地址和值;

输入在原来特殊矩阵中的地址,要求能从压缩后的矩阵中读出相应的值。

8、树与二叉树的转换

要求:实现树与二叉树的转换,应包含建树的实现。

9、二叉树的遍历算法

任务:二叉树的创建、中序、前序、后序的递归、丰递归遍历算法。

要求:二叉树的形态是任意的。

10.校园导航问题

设计要求:设计你的学校的平面图,至少包括10个以上的场所,每两个场所间可以有

不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径

11、学校超市选址问题(带权有向图的中心点)

设计要求:对于某一学校超市,其他各单位到其的距离不同,同时各单位人员去超市的

频度也不同。请为超市选址,要求实现总体最优。

12、图的BFS遍历

要求:

1)先任意创建一个图;

2)图的BFS的递归和非递归算法的实现

3)要求用邻接矩阵、邻接表两种结构存储实现

13、宿舍管理查询软件

1)任务:为宿舍管理人员编写一个宿舍管理查询软件,程序设计要求:

A.采用交互工作方式

B.建立数据文件,数据文件按关键字(姓名、学号、宿舍号)进行排序(冒泡、选择、

插入排序等任选一种)

2)查询菜单:(用二分查找实现以下操作)

A.按姓名查询

B.按学号查询

C.按宿舍号查询

3)打印任一查询结果(可以连续操作)

14.二叉排序树的实现

用二叉链表作存储结构

1)以回车('')为输入结束标志,输入数列L,生成一棵二叉排序树T;

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

3)输入元素x,查找二叉排序树T,若存在含x的结点,贝]删除该结点,并作中序遍历(执行操

作2);否则输出信息“无x”;

15、航空客运订票系统

航空客运订票系统的业务主要包括:查询航线,客票预订,办理退票等。试设计一个航

空客运订票系统,以使上述业务可以借助计算机来完成。

(1)每条航线所涉及的信息有:终点站名,航班号,飞机号,飞行周日(星期几),乘员

定额,余票量。乘客信息有;乘客名,预订票数,航班号。

(2)系统的主要功能是:

1)查询航线,根据旅客提出的终点站名输出下列信息:航班号,飞机号,星期几飞行;

最近一天航班的日期和余票量。

2)承办订票业务,根据客户提出的要求(航班号,订票量)查询该航班的票余量,如果

尚有余票,则为客户办理手续,输出坐位号,若已经满员或者余票少于订票额,则需要重新

问询客户要求,若需要,则为客户登记排队候补。

3)承办退票业务,根据客户提供的情况(航班,姓名),为客户办理退票手续,然后查

询该航班是否有人排队候补,首先问询排在第一的客户,如果退票额能满足他的需求,则为

其办理订票,否则挨次问询其他候补客户是否订票。

16、一元多项式的加法、减法的实现。

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

Am(x)=.*\O+Alx1+A2x2+A3x3+…+Amxm

Bn(x)=B0+Blxl+B2x2+B3x3+-+Bnxn

请实现求M(x)=Am(x)+Bn(x)>M(x)=Am(x)-Bn(x)和M(x)=Am(x)XBn(x)o

要求:

1)首先判定多项式是否稀疏

2)分别采用顺序和动态存储结构实现;

3)结果M(x)中无重复阶项和无零系数项;

4)要求输出结果按指数的升基和降幕两种罗列情况

17、车箱调度

问题描述:假设停在铁路调度站入口处的车箱序列的编号挨次为1、2、3、4。设计一

个程序,求出所有可能由此输出的长度为4的车箱序列。

18、走迷宫游戏

程序开始运行时显示一个迷宫地图,迷宫中央有一只老鼠,迷宫的右下方有一个粮仓。

游戏的任务是使用键盘上的方向键控制老鼠在规定的时间内走到粮仓处。

要求:

1)老鼠形象可辨认,可用键盘控制老鼠上下摆布挪移;

2)迷宫的墙足够结子,老鼠不能穿墙而过;

3)正确检测结果,若老鼠在规定时间内走到粮仓处,提示成功,否则提示失败:

4)添加编辑迷宫功能,可修改当前迷宫,修改内容:墙变路、路变墙;

5)找出走出迷宫的所有路径,以及最短路径。

利用序列化功能实现迷宫地图文件的存盘和读出等功能

19、文本文件单词的检索与计数

设计要求与分析:

要求编程建立一个文本文件,每一个单词不包含空格且不跨行,单词由字符序列构成且

区分大小写;统计给定单词在文本文件中浮现的总次数;检索输出某个单词浮现在文本中

的行号、在该行中浮现的次数以及位置。该设计要求可分为三个部份实现:其一,建立文本

文件,文件名由用户用键盘输入;其二,给定单词的计数,输入一个不含空格的单词,统

计输出该单词在文本中的浮现次数;其三,检索给定单词,输入一个单词,检索并输出该

单词所在的行号、该行中浮现的次数以及在该行中的相应位置。

(1).建立文本文件

(2)给定单词的计数

(3)检索单词浮现在文本文件中的行号、次数及其位置

(4)主控菜单程序的结构

①头文件包含

②菜单选项包含

建立文件、单词定位、单词计数、退出程序

③选择卜4执行相应的操作,其他字符为非法。

20、稀痂矩阵应用

要求:实现三元组的稀疏矩阵的加法、转置、乘法运算的实现。

(1)稀疏矩阵的存储

(2)稀疏矩阵加法

(3)矩阵乘法

(4)矩阵转置

21、哈夫曼编码/译码料

【问题描述】

设计一个利用哈夫曼算法的编码和译码系统,重复地显示并处埋以卜项目,直到选择退出为

止。

【基本要求】

D将权值数据存放在数据文件(文件名为data,ixl,位于执行程序的当前目录中)

2)分别采用动态和静态存储结构

3)初始化:键盘输入字符集大小n、n个字符和n个权值,建立哈夫曼树;

4)编码:利用建好的哈夫曼树生成哈夫曼编码;

5)输出编码:

6)设字符集及频度如下表:

字符空格ABCI)EFGHIJKLM

频度1866413223210321154757153220

字符NOPQRSTUVWXYZ

频度5763151485180238181161

【进一步完成内容】

1)译码功能;

2)显示哈夫曼树:

3)界面设计的优化。

22、线索二叉树的应用

要求:实现线索树建立、插入、删除、恢复线索的实现。

23、教学计划编制问题

设计要求:针对计算机系本科课程,根据课程之间的依赖关系(如离散数学应在数据结

构之前开设)制定课程安排计划,并满足各学期课程数目大致相同。

24、最小生成树问题

问题描述:给定一个地区的n个城市间的距离网,用prim算法或者kruskal算法建立

最小生成树,并计算得到的最小生成树的代价。

基本要求:

(1)城市间的距离网采用邻接矩阵表示,邻接矩阵的存储结构定义采用课本中给出的定

义,若两个城市之间不存在道路,则将相应边的权值设为自己定义的无穷大值。要求在屏幕

上显示得到的最小生成树中包括了哪些城市间的道路,并显示得到的最小生成树的代价;

(2)表示城市间距离网的邻接矩阵(要求至少6个城市,10条边);

(3)最小生成树中包括的边及其权值,并显示得到的最小生成树的代价。

设计要求:在n个城市之间建设网络,只需保证连通即可,求最经济的架设方法。存储

结构采用多种。求解算法多种。

25、关键路径问题

问题描述:设计一个程序求出完成整项工程至少需要多少时间以及整项工程中的关键活

动。

基本要求:

(1)对一个描述工程的ROE网,应判断其是否能够顺利进行。

(2)若该工程能顺利进行,输出完成整项工程至少需要多少时间,以及每一个关键活动

所依附的两个顶点、最早发生时间、最迟发生时间。

26、哈希表设计

任务:针对某个集体[比如你所在的班级)中的“姓名”设计一个哈希表,使得平均查找

长度不超过R,完成相应的建表和查表程序。

要求:假设人名为中国人姓名的汉语拼音形式。待填入哈希表的人名共有30个,取平

均查找长度的上限为2.哈希函数用除留余数法构造,用伪随机探测再散列法和拉链法处理

冲突。

27.排序综合

利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序c

要求:

1)至少采用三种方法实现上述问题求解(提示,快速排序必做。其他可采用的方法还有插

入排序、希尔排序、起泡排序、选择排序、堆排序、归并排序)。并把排序后的结果保存在

不同的文件中。

2)统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对照),找出其中

两种较快的方法。

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

28、图书管理系统

问题描述

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

【基本要求】

D每种书的登记内容包括书号、书名,著作者,现存量和库存量।

2)对书号建立索引表(线性表)以提高查找效率:

3)系统主要功能如下:

*采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存

量增加;

*借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变

现存量;

*归还:注销对借阅者的登记,改变该书的现存量。

29、数制转换问题

任意给定一个M进制的数x,请实现如下要求

1)求出此数x的10进制值(用MD表示)

2)实现对x向任意的一个非M进制的数的转换。

3)用两种方法实现上述要求(用栈解决和用数组解决)。

30、实时监控报警系统

问题描述:建立一个报警和出警管理的系统

基本要求:

(1)采用一定的存储结构存储报警信息,要求有内容、时间;

(2)有一次的出警就应该在待处理的信息中删除这条信息;

(3)记录出警信息;

(4)待处理信息过多时会发出警告

31、链表操作

输入一组整形元素序列,建立带头结点的单链表。

要求:

(1)实现链表的遍历、查找、插入、删除;

(2)将链表中的元素分解成两个带头结点的单链表,其中一个全部存放奇数,另一个

全部存放偶数;

32、图的DFS遍历

要求:

1)先任意创建一个图;

2)图的DFS的递归和非递归算法的实现

3)要求用邻接矩阵、邻接表两种结构存储实现

33、树的应用

要求:实现树的前序、后序遍历的递归、非递归算法,层次遍历的非递归算法。

34.散列表的设计与实现

【问题描述】

设计散列表实现电话号码查找系统。

【基本要求】

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

2)从键盘愉入各记录,分别以电话号码和用户名为关键字建立散列表,

3)采用一定的方法解决冲突;

4)查找并显示给定电话号码的记录;

5)查找并显示给定用户名的记录。

【进一步完成内容】

1)系统功能的完善;

2)设计不同的散列函数,比较冲突率;

3)在散列函数确定的前提下,尝试各种不同类型处理冲突的方法,考察平均查找长度的变

化。

35、二叉平衡排序树

问题描述:从一棵空树开始创建,在创建过程中,保证树的有序性,同时还要针对树的平衡

性做些调整。最终要把创建好的二叉排序树转换为二叉平衡排序树。

基本要求:(D创建(插入、调整);

(2)输出。

36.航班信息排序与检索

问题描述:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行,、最近一

大航班的日期和余票额。

设计要求:

(1)对飞机航班信息进行排序和查找。可按航班的航班号、起点站、到达站、起匕时间以

及到达时间等信息进行查询;

(2)采用基数排序法对•组具有结构特点的飞机航班号进行排序;

(3)利用二分法查找对排好序的航班记录按航班号实现快速排序;

(4)每一个航班记录包括八项,分别为:航班号、起点站、终点站、班次、起飞时间、到

达时间、飞机型号以及票价笔。

37.任意长的整数加法

问题描述:设计一个程序实现两个任意长的整数的求和运算。

基本要求:利用双向循环链表,设计一个实现任意长的整数进行加法运算的演示程序。要求

输入和输出每四位一组,组间用逗号隔开。如:1,000D,0000,0000,0000o

38.敢死队问题

有“个敢死队员要炸掉敌人的一碉堡,谁都不想去,排长决定用轮回数数的办法来决定

哪个战士去执行任务。如果前一个战士没完成任务,则要再派一个战士上去。现给每一个战

±编一个号,大家围坐成一圈,随便从某一个战士开始计数,当数到5时,对应的战士就

去执

行任务,且此战士再也不参加下一轮计数。如果此战士没完成任务,再从下一个战士开始数数,

被数到第5时,此战士接着去执行任务。以此类推,直到任务完成为止。

排长是不愿意去的,假设排长为1号,请你设计一程序,求出从第几号战士开始计数

才干让排长最后一个留下来而不去执行任务。

要求:至少采用两种不同的数据结构的方法实现。如果采用三种以上的方法者,可加分。

39、顺序表操作

输入一组整形元素序列,建立顺序表。

要求:

(D实现顺序表的遍历、查找、插入、删除;

(2)实现将顺序表中所有奇数排在偶数之前,表的前面为奇数,后面为偶数;

40、通讯录的制作

设计目的:用〈(数据结构〉〉中的双向链表作数据结构,结合C语言基本知识。编写一个

通讯录管理系统。以把所学数据结构知识应用到实际软件开辟中去。

设计内容:本系统应完成•下儿方面的功能:

I)输入信息----enter();

2)显示信息-----display();

3)查找以姓名作为关键字-----search();

4)删除信息-----delete();

5)存盘-----save();

6)装入-----load();

设计要求:

1)每条信息至包含:姓名(NAME)街道(STREET)城市(CITY)邮编(EIP)国家(STATE)

几项

2)作为一个完整的系统,应具有友好的界面和较强的容错能力

3)上机能正常运行,并写出课程设计报告

41、学生搭配问题

一班有m个女生,有n个男生(m不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论