数据结构课程设计参考题目Word格式.docx
- 文档编号:16759637
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:18
- 大小:29.65KB
数据结构课程设计参考题目Word格式.docx
《数据结构课程设计参考题目Word格式.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计参考题目Word格式.docx(18页珍藏版)》请在冰豆网上搜索。
哪些取前五名或前三名由学生自己设定。
(m<
=20,n<
=20)
功能要求:
1)可以输入各个项目的前三名或前五名的成绩;
2)能统计各学校总分,
3}可以按学校编号或名称、学校总分、男女团体总分排序输出;
4)可以按学校编号査询学校某个项目的情况;
可以按项目编号査询取得前三或前五名的学校。
5)数据存入文件并能随时查询
6)规定:
输入数据形式与范盹可以输入学校的名称,运动项目的名称
输出形式:
有合理的提示,各学校分数为整形
界面要求:
有合理的提示■每个功能可以设立菜单,根据提示,可以完成相关的功能耍求。
存储结构:
学生自己根据系统功能要求自己设汁,但就是要求运动会的相关数据要存储在数据文件中。
(数振文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中抬明您用到的存储结构;
测试数据:
要求使用1、全部合法数据;
2、整休非法数据;
3、局部非法数据。
进行程序测试,以保证程序的稳定。
测试数据及测试结果请在上交的资料中写明;
2、飞机订票系统
通过此系统可以实现如下功能:
录入:
可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)
査询:
可以査询某个帅线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班就是否满仓);
可以输入起飞抵达城市,査询飞机航班情况;
订票:
(订票情况可以存在一个数据文件中,结构自己设定)
可以订票,如果该航班已经无票,可以提供相关可选择航班;
退票:
可退票,退票后修改相关数据文件;
客户资料有姓名,证件号,订票数虽及航班情况,订贰婆有编号。
修改航班信息:
X航班信息改变可以修改航班数据文件
要求:
根据以上功能说明,设汁航班信息,订票信息的存储结构,设汁程序完成功能;
3、文章編辑功能:
输入一页文字,程序可以统il•出文字.数字.空格的个数。
静态存储一贞文草,每行最参不超过80个字符,共N行;
要求
(1)分别统il•出其中英文字僚数与空格数及整篇文草总字数;
⑵统计某一字符串在文草中出现的次数,并输出该次数;
(3)删除某一子串,并将后而的字符前移。
存储结构使用线性表,分别用几个子函数实现相应的功能;
输入数据的形式与范用:
可以输入大写.小写的英文字母、任何数字及标点符号。
输出形式:
(1)分行输岀用户输入的各行字符;
(2>分4行输出”全部字母数J"
数字个数”、”空格个数
“文草总字数”⑶输出删除某一字符串后的文草;
4>宿舍管理査询软件
1)任务:
为宿舍管理人员编写一个宿舍管理査询软件•程序设讣要求:
A、采用交互工作方式
B、建立数据文件,数据文件按关键字(姓名.学号、房号)进行排序(冒泡.选择、插入排序等任选一种)
2)查询菜单:
(用二分査找实现以下操作)
A、按姓名査询
B、按学号査询
C、按房号査询
3)打印任一查询结果(可以连续操作)
5、校园导航问题
设计婆求:
设il•您的学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任总场所到达另一场所的最佳路径(最短路径)。
6、教学计划編制问题
针对计算机系木科课程,根据课程之间的依赖关系(如离散数学应在数据结构之前开设)制定课程安排讣划,并满足各学期课程数目大致相同。
7、散列法的实验研宛
散列法中,散列函数构造方法多种女样,同时对于同一散列函数解决冲突的方法也可以不同。
两者就是影响查询算法性能的关键因素。
对于几种典型的散列函数构造方法,做实验观察,不同的解决冲突方法对査询性能的影响。
8、图书借阅管理系统
主要分为两大功能:
1)图书管理(増加图书、査询图书.删除图书、图书借阅、还书);
2)会员管理(増加会员、查询会员.删除会员、借书信息);
9、学生成绩管理
实现功能:
输入、输出、插入.删除.査找、追加.读入.显示.保存、拷贝、排序、索引、分类合计、退岀。
10、活期債蓄帐目管理
活期储蓄处理中,储户开户、销户、存入、支出活动频繁,系统设讣要求:
1)能比较迅速地找到储户的帐户,以实现存款.取款记账;
2)能比较简叽迅速地实现插入与删除,以实现开户与销户的需臥
11、二叉排序树的实现
用顺序与二叉链表作存储结构
1)以回午(5)为输入结束标总•输入数列L,生成一棵二叉排序树T;
2)对二叉排序树T作中序遍历,输出结果;
3)输入元素x・查找二叉排序树T.若存在含x的结点,则删除该结点,并作中序遍历(执行操作2);
否则输出信息“无X"
;
12、最小生成树问题
在n个城市之间建设网络,只需保证连通艮卩可,求最经济的架设方法。
存储结构采用女种。
求解算法多种°
13、通讯录的制作
设计目的:
用〈〈数据结构〉)中的双向链表作数据结构,结合C语言基本知识。
编写一个通讯录管理系统。
以把所学数据结构知识应用到实际软件开发中去。
设计内容:
木系统应完成一下几方面的功能:
1)输入信息nterO:
2)显示信息isplay();
3)查找以姓名作为关键字search():
4)删除信息elete();
5)存盘save();
6)装入load();
设计要求:
1)每条信息至包含:
姓名(NAME)街道(STREET)城市(CITY)邮編(EIP)国家(STATE)几项
2)作为一个完整的系统,应具有友好的界面与较强的容错能力
3)上机能正常运行,并写出课程设计报告
14、哈夫曼编码/译码器
【问题描述】
设计一个利用哈夫曼算法的編码与详码系统,重复地显示并处理以下项目,直到选择退出为止。
【基木要求】
1)将权值数据存放在数据文件(文件名为d&
、位于执行程序的7前目录中)
2)分别采用动态与静态存储结构
3)初始化:
键盘输入字符集大小n、n个字符与n个权值,建立哈夫曼树;
4)编码:
利用建好的哈夫曼树生成哈夫曼編码;
5)输出编码;
6)设字符集及频度如下表:
字符空格ABCDEFGHIJKLM
频度1866413223210321154757153220
字符NOPQRSTUVWXYZ
频度576315I485180238181161
【进一步完成内容】
1)译码功能;
2)显示哈夫曼树;
3)界面设计的优化。
15、图书管理系统
设计一个讣算机管埋系统完成图书管理基木业务。
【基本要求】
1)每种书的登记内容包括书号.书名、著作者、现存虽与库存虽;
2)对书号建立索引表(线性表)以提髙査找效率;
3)系统主要功能如下:
木采編入库:
新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存虽增加;
加借佃:
如果一种书的现存量大于0,则借出一木,登记借阅者的书证号与归还期限,改变现存址;
木归还:
注销对借阅者的登记,改变该书的现存虽。
1)系统功能的进一步完善;
2)索引表采用树表。
3)设计内容
4)程序流程图
5)源程序
6)软件测试报告(包括所用到的数据及结果)
16、散列表的设计与实现
设计散列表实现电话号码査找系统。
1)设每个记录有下列数据项:
电话号码、用户名、地址;
2)从惟盘输入各记录,分别以电话号码与用户名为关键字建立散列表;
3)采用一定的方法解决冲突;
4)査找并显示给定电话号码的记录;
5)查找并显示给定用户名的记录。
1)系统功能的完善;
2)设计不同的散列函数,比较冲突率;
3)在散列函数确定的前提下,尝试族种不同类型处理冲突的方法,考察平均査找长度的变化。
17、顺序结构.动态链表结构下的一元多项式的加法、减法.乘法的实现。
设有一元多项式Am(x)与Bn(x).
Am(x)=Ao+A]X1+A2X2+-...+AmXm
Bn(X)=Bo+BlX1+B2X2+B3X3+...+BnXn
请实现求M(x)=Am(x)+Bn(x)sM(x)=Am(x)-Bn(x)与M(X)=Am(X)xBn(X)o
1)首先判定多项式就是否稀疏
2)分别采用顺序与动态存储结构实现;
3)结果IVI(x)中无重复阶项与无零系数项;
4)要求输出结果的升窮与降探两种排列情况
18、利用栈求表达式的值,可供小学生作业,并能给出分数.
要求:
建立试題库文件,随机产生n个题目;
题目涉及加减乘除,带括弧的混合运算;
随时可以退出;
保留历史分数,能回顾历史,给出与历史分数比较后的评价
19、简易文本编辑器
1)具有图形菜的界面;
2)査找,替换(等长,不等长),插入(插串,文木块的插入八块移动(行块,列块移动),删除
3)可正确存盘、収盘;
4)正确显示总行数。
20、二叉树的中序、前序.后序的递归.非递归遍历算法,层次序的非递归遍历算法的实现,应包含建树的实现。
遍历的内容应就是千姿百态的。
树与二叉树的转换的实现。
以及树的前序、后序的递归、非递归遍历算法,层次序的非递归遍历算法的实现,应包含建树的实现。
遍历的内容应就是干姿百态的。
21、学生搭配问题
一班有m个女生,有n个男生(m不等于n)•现要开一个舞会、男女生分别编号坐在舞池的两边的椅子上.每曲开始时•依次从男生与女生中各岀一人配对跳舞•木曲没成功配对者坐着等待下一曲找舞伴.
请设计一系统模拟动态地显示出上述过程,要求如下:
1)输出每曲配对情况
2)汁算出任何一个男生(编号为X)与任总女生(编号为Y)•在第K曲配对跳舞的情况、至少求出K的两个值、
3)尽址设计出多种算法及程序,可视情况适当加分
提示:
用队列來解决比较方便.
22、猴子吃桃子问题
有一群假子摘了一堆桃子,她们每天都吃半前桃子的一半且再多吃一个,到了第10天就只余下一个桃子。
用多种方法实现求出原來这群猴子共摘了多少个桃子。
1)采用数组数据结构实现上述求解
2)采用链数抿结构实现上述求解
3)采用递归实现上述求解
23.数制转换问题
任总给定一个M进制的数x,请实现如下要求
1)求出此数x的10进制值(用MD表示)
2)实现对x向任意的一个非M进制的数的转换。
3)至少用两种或两种以上的方法实现上述要求(用栈解决,用数组解决,其它方法解决几
24、排序综合
利用随机函数产生N个随机整数(20000以上),对这些数进行蚩种方法进行排序。
1)至少采用三种方法实现上述问题求解(提示,可采用的方法有插入排序.希尔排序、起泡排序.快速排序.选择排序、堆排序、归并排序)。
并把排序后的结果保存在不同的文件中。
2)统汁每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中两种较快的方法。
3)如果采用4种或4种以上的方法者,可适当加分。
25、学生成绩管理系统
现有学生成绩信息文件1(1、txt),内容如下
姓名学号语文数学英语
张明明
01
67
78
82
李成友
02
91
88
张辉灿
03
68
56
王爲
04
45
77
陈东明
05
38
47
••・、
1、
、、•••
学生成绩信息文件2(2、
W),内容如下
姓名:
学号
语文数学
英语
陈果
31
57
李华明
32
90
张明东
33
48
42
李明国
S4
50
87
陈道亮
35
58
试编写一管理系统,要求如下:
1)实现对两个文件数据进行合并,生成新文件3.txt
2)抽取出三科成绩中有补考的学生并保存在一个新文件4、txt
3)合并后的文件3、txt中的数据按总分降序排序(至少采用两种排序方法实现)
4)输入一个学生姓名后•能査找到此学生的信息并输出结果(至少采用两种查找方法实现)
5)要求使用结构体•链或数组等实现上述要求.
6)采用多种方法且算法正确者,可适十加分、
26.图的遍历的实现
1)先任总创建一个图;
2)图的DFS.BFS的递归与非递归算法的实现
3)要求用有向图与无向图分别实现
4)要求用邻接矩阵、邻接表*种结构存储实现
27、线索二叉树的应用
实现线索树建立.插入、删除.恢复线索的实现。
28、稀疎矩阵应用
实现三元组,十字链表下的稀銃矩阵的加、转.乘的实现。
(1)稀疏矩阵的存储
(2)稀疏矩阵加法
(3)矩阵乘法
(4)矩阵转宜
29、树的应用
实现树与二叉树的转换的实现。
以及树的前序、后序的递归、非递归算法,层次序的非递归算法的实现,应包含建树的实现。
30、文本文件单词的检索与计数
设计要求与分析:
要求編程建立一个文木文件,每个m•词不包含空格且不跨行」丫I词由字符序列构成且区分大小写;
统汁给定单词在文木文件中出现的总次数;
检索输出某个单词出现在文木中的行号.在该行中出现的次数以及位宜。
该设il•要求可分为三个部分实现:
其一,建立文木文件,文件名由用户用键盘输入;
其二给定贰词的计数,输入一个不含空格的魏词,统汁输出该讥词在文木中的出现次数;
其三■检索给定爪词,输入一个収词,检索并输出该爪词所在的行号.该行中出现的次数以及在该行中的相应位宜。
(1)、建立文本文件
(2)给定单词的计数
(3)检索讯词出现在文木文件中的行号、次数及其位宜
(4)主控菜单程序的结构
1头文件包含
2菜収选项包含
建立文件、讥词定位.单词汁数、退出程序
3选择1・4执行相应的操作,其她字符为非法。
31、任意长的整数加法
问题描述:
设计一个程序实现两个任慰长的整数的求与运算C
基本要求:
利用双向循环链表,设il•一个实现任总:
长的整数进行加法运算的演示程序。
婆求输入与输出每四位一组,组间用逗号隔开。
如:
1,0000,0000,0000,0000。
32、二叉平衡排序树
问題描述:
从一棵空树开始创建,在创建过程中,保证树的有序性,同时还要针对树的平衡性做些涮整。
报终要把创建好的二叉排序树转换为二叉平衡排序树。
基木要求:
1.创建(插入、调整、改组)
2、输出
33、串的査找与替换
打开一篇英文文章,在该文萃中找出所有给定的单词,然后对所有给定的单词替换为另外一个做词,再存盘。
34、约瑟夫环
編号为1,2...n的n个人按顺时针方向困坐一圈,每人持有一个密码(正整数)o一开始任选一个正整数作为报数的上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数,报m的人出列,将她的密码作为新的m值,从她的顺时针方向上的下一个开始重新从1报数,如此下去,直至所有人全部出列为止,设计一个程序求出出列顺序。
基本要求:
lx利用单循环链表作为存储结构模拟此过程;
2、键盘输入总人数.初始报数上限值m及各人密码;
3.按照出列顺序输出各人的编号。
35、构造可以使n个城市连接的最小生成树
给定一个地区的n个城市间的距离网,用Prim算法或Kruskal算法建立最小生成树,并计算得到的最小生成树的代价。
1、城市间的距离网采用邻接矩阵表示,邻接矩阵的存储结构定义采用课木中给出的定义,若两个城市之间不存在道路,则将相应边的权值设为自己定义的无穷大值。
要求在胖幕上显示得到的最小生成树中包括了哪些城市间的道路,并显示得到的最小生成树的代价。
2、表示城市间距离网的邻接矩阵(要求至少6个城市.10条边)
3、最小生成树中包括的边及其权值,并显示得到的最小生成树的代价。
36、客户消费积分管理系统
针对客户的消费情况,进行客户管理,根据客户的消费积分对客户实行不同程度的打折优患。
基本要求:
1、采用一定的存储结构进行客户信息的存储;
2、对客户的信息可以进行修改.删除.添加;
3、能够根据消费情况进行客户积分的计算;
4、根据积分情况实行不同程度的打折优惠;
37、产品进销存管理系统
针对某一种行业的库房的产品进销存情况进行管理。
1、采用一定的存储结构对库房的货品及其数虽进行分类管理;
2、可以进行产品类的添加.产品的添加.产品数虽的添加;
3、能够查询库房每种产品的总虽、进货日期.销出数虽、销售时间等;
38.轄殊矩阵的压缩存储算法的实现
对于特殊矩阵可以通过压缩存储减少存储空间。
1、针对多种特殊矩阵进行压缩存储,并能显示压缩后的相关地址与值;
2、输入在原來特殊矩阵中的地址,婆求能从压缩后的矩阵中读出相应的值;
39、算术表达式的求解
给定一个算术表达式,通过程序求出最后的结果。
1.从键盘输入要求解的算术表达式;
2.采用栈结构进行算术表达式的求解过程;
3.能够判断算术表达式正确与否;
4.对于错误表达式给出提示;
5.对于正确的表达式给出最后的结果;
40、实时监控报警系统
建立一个报警与岀警管理的系统
lx采用一定的存储结构存储报警信息,要求有内容、时间;
2、有一次的出警就应该在待处理的信息中删除这条信息;
3、记录出警信息;
4、待处理信息过多时会发出警告;
41、车厢调度
假设停在铁路调度站入口处的午厢序列的编号一次为1,2,3,4。
设汁一个程序,求出所有可能由此输出的长度为4的牟厢序列°
42、迷宫问题(栈)
问题描述:
以一个m切的长方阵表示迷宫,0与1分别表示迷宫中的通路与障碍。
设计一个程序,对任总设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论.
首先实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。
求得的通路以三元组(i,j・d)的形式输出,其中:
(iJ)示迷宫中的一个坐标,d表示走到下一坐标的方向,如:
对于下列数据的迷宫,输出的一条通路为:
(1,1,1),(122),(3,2,3),(3,1,2),…。
测试数据:
迷宫的测试数据如下:
左下角(1,1)为入口,右下角(&
9)为出口。
实现提示:
il•算机解迷宫通常用的就是“穷举求解”方法,即从入口出发,顺着某个方向进行探索,若能走通,则继续往前进;
否则沿肴原路退回,换一个方向继续探索,直至出口位置,求得一条通路。
假如所有可能的通路都探索到而未能到达出口,则所设的迷宫没有通路。
可以二维数组存储迷宫数据,通常设定入口点的下标为(1,1),出口点的下标为(n.n)o为处理方便起见,可在迷宫的四周加一圈障碍。
对于迷宫中任一位置,均可约定有东、南、西、北四个方向可通.
选做内容:
(1)编写递归形式的算法,求得迷宫中所有可能的通路;
(2)以方阵形式输出迷宫及其通路。
43、迷宫问题(队列)(同上)
44二叉搜索树:
各种搜索树效率比较
题目要求:
木題目要求对普通的二叉排序树、AVL树分别实现制定操作,并分析比较这两种不同数据结构对应的一系列插入与删除操作的效率。
要求测试对N个不同整数进行下列操作的效率:
(1)按递増顺序插入N个整数,并按同样顺序删除;
(2)按递増顺序插入N个整数,并按相反顺序删除;
(3)按随机顺序插入N个整数,并按随机顺序删除;
要求N从1000到10000取值,并以数据规模N为横轴,运行时间为纵轴,価出3种不同数据结构对应的操作效率比较图。
45、病毒测试程序
本题的任务就是:
当整个网络被感染后,计算有多少台机器被某个特定变种所感染。
输入要求:
输入由若干组测试数据组成。
每组数据的第1行包含2个整数M与N(1WM,NW5OO),接下來就是一个M*N的矩阵表示网络的初始感染状态,其中的正、负整数的意义如题目描述中所定义。
下而一行给岀一个正整数Q,就是将要查询的变种的个数。
接下去的Q行里,每行给出一个变种的类型。
当M或N为0时,表示全部测试结束,不要对该数据做任何处理。
输出要求:
对每一组测试,在一行里输出被某个特定变种所感染的机器数址。
46关键路径问题
设计一个程序求岀完成整项工程至少需雯筝少时间以及整项工程中的关键活动。
(1)对一个描述工程的AOE网,应判断其就是否能够顺利进行。
⑵若该工程能顺利进行,输出完成整项匸程至少需嬰女少时阿以及每一个关键活动所依附的两个顶点、昴早发生时间.最迟发生时间。
47、神秘国度的爱情故事
输入要求:
每组数据的第1行包含一正整数N(lWNW50000),代表神秘国度中小村的个数,每个小村即从0到N・1编号。
接下來有N・1行输入,每行包含一条双向道路的两端小村的編号,中间用空格分开。
之后一行包含一正整数M(1WMW500000),代表若该组测试问題的个数°
接下來M行,每行给出A.B.C三个小村的编号,中间用空格分开。
当N为0时,表示全部测试结束,不要对该数据做任何处理。
输出要求:
对每一组测试给定的A.B.C,在一行里输出答案,即:
如果C在A与B之间的路径上,输出Yes•否则输出No。
48、并査集:
检査网络
题目要求:
给定一个讣算机网络以及机湍间的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 参考 题目