数据结构课程设计题目

上传人:daj****de2 文档编号:162479192 上传时间:2022-10-18 格式:DOCX 页数:10 大小:26.34KB
收藏 版权申诉 举报 下载
数据结构课程设计题目_第1页
第1页 / 共10页
数据结构课程设计题目_第2页
第2页 / 共10页
数据结构课程设计题目_第3页
第3页 / 共10页
资源描述:

《数据结构课程设计题目》由会员分享,可在线阅读,更多相关《数据结构课程设计题目(10页珍藏版)》请在装配图网上搜索。

1、数据结构课程设计题目1. 运动会分数统计(限1 人完成)任务:参加运动会有n个学校,学校编号为1n。比赛分成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)数据存入文件并能随时查询

2、6)规定:输入数据形式和范围:可以输入学校的名称,运动项目的名称 输出形式:有中文提示,各学校分数为整形 界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数 据要存储在数据文件中。(数据文件的数据读写方法等相关内容在 c 语言程序设 计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构; 测试数据:要求使用 1、全部合法数据; 2、整体非法数据; 3、局部非法数据。 进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;2. 飞机订票系统(限1 人完成) 任务:通过此系统

3、可以实现如下功能: 录入: 可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据 自定)查询: 可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市, 航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况; 订票:(订票情况可以存在一个数据文件中,结构自己设定) 可以订票,如果该航班已经无票,可以提供相关可选择航班; 退票: 可退票,退票后修改相关数据文件; 客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。 修改航班信息:当航班信息改变可以修改航班数据文件 要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功

4、能;3. 文章编辑(限1 人完成)功能:输入一页文字,程序可以统计出文字、数字、空格的个数。静态存储一页文章,每行最多不超过80个字符,共N行;要求(1)分别统 计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章 中出现的次数,并输出该次数;( 3)删除某一子串,并将后面的字符前移。存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点 符号。输出形式:(1)分行输出用户输入的各行字符;(2)分4行输出全部字 母数、数字个数、空格个数、文章总字数( 3)输出删除某一字符串后的 文章;4. 宿舍管理查询软件(限

5、1 人完成)1)任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求:A. 采用交互工作方式B. 建立数据文件 ,数据文件按关键字(姓名、学号、房号)进行排序 (冒泡、选择、插入排序等任选一种)2)查询菜单: (用二分查找实现以下操作)A. 按姓名查询B. 按学号查询C. 按房号查询3)打印任一查询结果(可以连续操作)5. 地图着色问题(限1 人完成) 设计要求:已知中国地图,对各省进行着色,要求相邻省所使用的颜色不同 并保证使用的颜色总数最少。6. 校园导航问题(限1 人完成)设计要求:设计你的学校的平面图,至少包括10个以上的场所,每两个场所 间可以有不同的路,且路长也可能不同,找

6、出从任意场所到达另一场所的最佳路 径(最短路径)。7. 学校超市选址问题(带权有向图的中心点)(限 1 人完成) 设计要求:对于某一学校超市,其他各单位到其的距离不同,同时各单位人员去超市的频度也不同。请为超市选址,要求实现总体最优。8. 教学计划编制问题(限 1 人完成) 设计要求:针对计算机系本科课程,根据课程之间的依赖关系(如离散数学应在数据结构之前开设)制定课程安排计划,并满足各学期课程数目大致相同。9. 散列法的实验研究(限 1 人完成) 散列法中,散列函数构造方法多种多样,同时对于同一散列函数解决冲突的 方法也可以不同。两者是影响查询算法性能的关键因素。对于几种典型的散列函数构造方

7、法,做实验观察,不同的解决冲突方法对查询性能的影响。10. 图书借阅管理系统(限 1 人完成) 主要分为两大功能:1)图书管理(增加图书、查询图书、删除图书、图书借阅、还书);2)会员管理(增加会员、查询会员、删除会员、借书信息);11. 学生成绩管理(限1 人完成) 实现功能:输入、输出、插入、删除、查找、追加、读入、显示、保存、拷 贝、排序、索引、分类合计、退出。12. 活期储蓄帐目管理(限 1 人完成) 活期储蓄处理中,储户开户、销户、存入、支出活动频繁,系统设计要求:1)能比较迅速地找到储户的帐户,以实现存款、取款记账;2)能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。13

8、. 二叉排序树的实现(限 1 人完成) 用顺序和二叉链表作存储结构1)以回车(n)为输入结束标志,输入数列L,生成一棵二叉排序树T;2)对二叉排序树 T 作中序遍历,输出结果;3)输入元素x,查找二叉排序树T,若存在含x的结点,则删除该结点,并作中 序遍历(执行操作2);否则输出信息“无x”;14. 最小生成树问题(限1 人完成)设计要求:在 n 个城市之间建设网络,只需保证连通即可,求最经济的架设方法。 存储结构采用多种。求解算法多种。15. 通讯录的制作(限1 人完成) 设计目的:用数据结构中的双向链表作数据结构,结合 C 语言基本知识。 编写一个通讯录管理系统。以把所学数据结构知识应用到

9、实际软件开发中去。 设计内容:本系统应完成一下几方面的功能:1)输入信息ent er();2)显示信息display();3)查找以姓名作为关键字 search( );4)删除信息dele te();5)存盘save ();6)装入load();设计要求:1)每条信息至包含:姓名(NAME)街道(STREET)城市(CITY)邮编(EIP) 国家(STATE)几项2) 作为一个完整的系统,应具有友好的界面和较强的容错能力3) 上机能正常运行,并写出课程设计报告16. 哈夫曼编码/译码器(限1 人完成)【问题描述】 设计一个利用哈夫曼算法的编码和译码系统,重复地显示并处理以下项目,直到 选择退出

10、为止。【基本要求】1) 将权值数据存放在数据文件(文件名为data.txt,位于执行程序的当前 目录中)2) 分别采用动态和静态存储结构3) 初始化:键盘输入字符集大小 n、n 个字符和 n 个权值,建立哈夫曼树;4) 编码:利用建好的哈夫曼树生成哈夫曼编码;5) 输出编码;6) 设字符集及频度如下表:字符 空格 A B C D E F G H I J K L M频度 186 64 13 22 32 103 21 15 47 57 1 5 32 20字符 N O P Q R S T U V W X Y Z频度 57 63 15 1 48 51 80 23 8 18 1 16 1【进一步完成内容

11、】1) 译码功能;2) 显示哈夫曼树;3) 界面设计的优化。17. 图书管理系统(限1 人完成)【问题描述】 设计一个计算机管理系统完成图书管理基本业务。【基本要求】1) 每种书的登记内容包括书号、书名、著作者、现存量和库存量;2) 对书号建立索引表(线性表)以提高查找效率;3) 系统主要功能如下: *采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已 有,则只将库存量增加;*借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归 还期限,改变现存量;*归还:注销对借阅者的登记,改变该书的现存量。 【进一步完成内容】1) 系统功能的进一步完善;2) 索引表采用树表。3

12、) 设计内容4) 程序流程图5) 源程序6) 软件测试报告(包括所用到的数据及结果)18. 散列表的设计与实现(限 1 人完成)【问题描述】设计散列表实现电话号码查找系统。【基本要求】1) 设每个记录有下列数据项:电话号码、用户名、地址;2) 从键盘输入各记录,分别以电话号码和用户名为关键字建立散列表;3) 采用一定的方法解决冲突;4) 查找并显示给定电话号码的记录;5) 查找并显示给定用户名的记录。 【进一步完成内容】1) 系统功能的完善;2) 设计不同的散列函数,比较冲突率;3) 在散列函数确定的前提下,尝试各种不同类型处理冲突的方法,考察平 均查找长度的变化。19. 走迷宫游戏(限1 人

13、完成) 程序开始运行时显示一个迷宫地图,迷宫中央有一只老鼠,迷宫的右下方有一个粮仓。游戏 的任务是使用键盘上的方向键操纵老鼠在规定的时间内走到粮仓处。要求:1) 老鼠形象可辨认,可用键盘操纵老鼠上下左右移动;2) 迷宫的墙足够结实,老鼠不能穿墙而过;3) 正确检测结果,若老鼠在规定时间内走到粮仓处,提示成功,否则提示 失败;4) 添加编辑迷宫功能,可修改当前迷宫,修改内容:墙变路、路变墙;5) 找出走出迷宫的所有路径,以及最短路径。 利用序列化功能实现迷宫地图文件的存盘和读出等功能20. 顺序结构、动态链表结构下的一元多项式的加法、减法、乘法的实现。(限 1 人完成) 设有一元多项式A (x)

14、和B (x).mnA(x)=A+Ax1+Ax2+Ax3+ +Axmm 0 1 2 3 mB(x)=B+Bx1+Bx2+Bx3+ +Bxn请实现求 M(x)= A (x)+B (x)、M(x)二 A (x)-B (x)和 M(x)= A (x) XB (x) om n m n m n要求:1) 首先判定多项式是否稀疏2) 分别采用顺序和动态存储结构实现;3) 结果M(x)中无重复阶项和无零系数项;4) 要求输出结果的升幂和降幂两种排列情况21. 利用栈求表达式的值,可供小学生作业,并能给出分数。(限 1 人完成)要求:建立试题库文件,随机产生n个题目;题目涉及加减乘除,带括弧的混合 运算;随时可

15、以退出;保留历史分数,能回顾历史,给出与历史分数比较后的评 价22. 简易文本编辑器(限1 人完成)要求:1)具有图形菜单界面;2)查找,替换(等长,不等长),插入(插串,文本块的插入)、块移动(行 块,列块移动),删除3)可正确存盘、取盘;4)正确显示总行数。23. 二叉树的中序、前序、后序的递归、非递归遍历算法,层次序的非递归遍历算法的实 现,应包含建树的实现。(限 1 人完成)要求:遍历的内容应是千姿百态的。 五、树与二叉树的转换的实现。以及树的前序、后序的递归、非递归遍历算法, 层次序的非递归遍历算法的实现,应包含建树的实现。要求:遍历的内容应是千姿百态的。24. 学生搭配问题(限1

16、人完成)一班有m个女生,有n个男生(m不等于n),现要开一个舞会.男女生分别编号坐 在舞池的两边的椅子上 . 每曲开始时, 依次从男生和女生中各出一人配对跳舞 , 本曲没成功配对者坐着等待下一曲找舞伴.请设计一系统模拟动态地显示出上述过程, 要求如下:1)输出每曲配对情况2)计算出任何一个男生(编号为X)和任意女生(编号为Y),在第K曲配对跳 舞的情况至少求出K的两个值.3)尽量设计出多种算法及程序, 可视情况适当加分提示:用队列来解决比较方便.25. 敢死队问题(限1人完成)有 M 个敢死队员要炸掉敌人的一碉堡,谁都不想去,排长决定用轮回数数的 办法来决定哪个战士去执行任务。如果前一个战士没

17、完成任务,则要再派一个战 士上去。现给每个战士编一个号,大家围坐成一圈,随便从某一个战士开始计数, 当数到 5 时,对应的战士就去执行任务,且此战士不再参加下一轮计数。如果此 战士没完成任务,再从下一个战士开始数数,被数到第 5 时,此战士接着去执行 任务。以此类推,直到任务完成为止。排长是不愿意去的,假设排长为 1 号,请你设计一程序,求出从第几号战士 开始计数才能让排长最后一个留下来而不去执行任务。要求:至少采用两种不同的数据结构的方法实现。如果采用三种以上的方法者, 可加分。26. 数制转换问题(限1人完成)任意给定一个 M 进制的数 x ,请实现如下要求1)求出此数x的10进制值(用M

18、D表示)2)实现对 x 向任意的一个非 M 进制的数的转换。3)至少用两种或两种以上的方法实现上述要求(用栈解决,用数组解决, 其它方法解决)。27. 排序综合(限 1 人完成)利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序。要求:1)至少采用三种方法实现上述问题求解(提示,可采用的方法有插入排序、 希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序)。并把 排序后的结果保存在不同的文件中。2)统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对 比),找出其中两种较快的方法。3)如果采用 4种或 4种以上的方法者,可适当加分。28. 学生成绩管理

19、系统(限 1 人完成)现有学生成绩信息文件1(1. txt),内容如下姓名学号语文数学英语张明明01677882李成友02789188张辉灿03688256王露04564577陈东明05673847学生成绩信息文件2 (2.txt),内容如下姓名学号语文数学英语陈果31576882李华明32889068张明东33484256李明国34504587陈道亮35475877试编写一管理系统,要求如下:1)实现对两个文件数据进行合并,生成新文件 3.txt2)抽取出三科成绩中有补考的学生并保存在一个新文件 4.txt3)对合并后的文件 3.txt 中的数据按总分降序排序(至少采用两种排序方 法实现)4

20、)输入一个学生姓名后,能查找到此学生的信息并输出结果(至少采用两种 查找方法实现)5)要求使用结构体,链或数组等实现上述要求.6)采用多种方法且算法正确者,可适当加分.29. 图的遍历和生成树求解实现(限1 人完成)要求:1) 先任意创建一个图;2) 图的 DFS,BFS 的递归和非递归算法的实现3)最小生成树(两个算法)的实现,求连通分量的实现4)要求用邻接矩阵、邻接表、十字链表多种结构存储实现30. 线索二叉树的应用(限1 人完成) 要求:实现线索树建立、插入、删除、恢复线索的实现。31. 稀疏矩阵应用(限1 人完成) 要求:实现三元组,十字链表下的稀疏矩阵的加、转、乘的实现。32. 树的

21、应用(限1 人完成) 要求:实现树与二叉树的转换的实现。以及树的前序、后序的递归、非递归算法,层次序的 非递归算法的实现,应包含建树的实现。33 题目:哈希表的设计与实现(限 1 人完成)问题描述: 设计哈希表实现电话号码查询系统。基本要求:1 、设每个记录有下列数据项:电话号码、用户名、地址;2 、从键盘输入各记录,分别以电话号码和用户名为关键字建立哈希表;3 、采用再哈希法解决冲突;4 、查找并显示给定电话号码的记录;5 、查找并显示给定用户名的记录。6 、在哈希函数确定的前提下,尝试各种不同类型处理冲突的方法(至少两种), 考察平均查找长度的变化。34、关键路径问题 (限1 人完成) 问

22、题描述:设计一个程序求出完成整项工程至少需要多少时间以及整项工程中的 关键活动。基本要求:(1)对一个描述工程的AOE网,应判断其是否能够顺利进行。( 2)若该工程能顺利进行,输出完成整项工程至少需要多少时间,以及每一个 关键活动所依附的两个顶点、最早发生时间、最迟发生时间。35、任意长的整数加法(限 1 人完成) 问题描述:设计一个程序实现两个任意长的整数的求和运算。 基本要求:利用双向循环链表,设计一个实现任意长的整数进行加法运算的演示 程序。要求输入和输出每四位一组,组间用逗号隔开。如:1, 0000, 0000, 0000, 0000。36、车厢调度 (限 1 人完成) 问题描述:假设

23、停在铁路调度站入口处的车厢序列的编号一次为 1,2,3, n。设计一个程序,求出所有可能由此输出的长度为n的车厢序列。37、串的查找和替换 (限1 人完成) 问题描述:打开一篇英文文章,在该文章中找出所有给定的单词,然后对所有给 定的单词替换为另外一个单词,再存盘。38、约瑟夫环 (限 1 人完成)问题描述:编号为1, 2 n的n个人按顺时针方向围坐一圈,每人持有一个密 码(正整数)。一开始任选一个正整数作为报数的上限值m从第一个人开始按 顺时针方向自 1 开始顺序报数,报到 m 时停止报数,报 m 的人出列,将他的密码 作为新的m值,从他的顺时针方向上的下一个开始重新从1报数,如此下去,直

24、至所有人全部出列为止,设计一个程序求出出列顺序。基本要求:1、利用单循环链表作为存储结构模拟此过程;2、键盘输入总人数、初始报数上限值m及各人密码;3、按照出列顺序输出各人的编号。39、构造可以使n个城市连接的最小生成树(限1人完成)问题描述:给定一个地区的n个城市间的距离网,用Prim算法或Kruskal算法 建立最小生成树,并计算得到的最小生成树的代价。基本要求:1、城市间的距离网采用邻接矩阵表示,邻接矩阵的存储结构定义采用课本中给 出的定义,若两个城市之间不存在道路,则将相应边的权值设为自己定义的无穷 大值。要求在屏幕上显示得到的最小生成树中包括了哪些城市间的道路,并显示 得到的最小生成

25、树的代价。2、表示城市间距离网的邻接矩阵(要求至少 6个城市, 10条边)3、最小生成树中包括的边及其权值,并显示得到的最小生成树的代价。40、构造 01 串 (限1 人完成)问题描述:给定七个整数N、A、B、L、C、D、M,要求设计一个01串S=S(1)S(2) S(N)。基本要求:1、S(i)=O 或 S(i)=l,lWiWN;2、 对于S的任何连续长度为L的子串S(j)S(j+1)S(j+L-1), (1WjWN-L+1), 0的个数大于等于A且小于等于B;3、 对于S的任何连续长度为M的子串S(j)S(j+1)S(j+M-1) , (1WjWN-M+1),0的个数大于等于C且小于等于D

26、;例如,N=6,A=1,B=2,L=3,C=1,D=1,M=2,则存在一个满足上述所有条件的01串 S=10101。41、括号匹配问题 (限 1 人完成) 问题描述:假设一个算术表达式中可包含三种括号:圆括号,方括号和花括号且 这三种括号可按任意次序嵌套使用。试利用栈的运算,编写判别给定表达式中所 含括号是否正确配对出现的算法。42 猴子吃桃子问题(限 1 人完成)有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一个,到了 第10天就只余下一个桃子。用多种方法实现求出原来这群猴子共摘了多少个桃 子。要求:1) 采用数组数据结构实现上述求解2) 采用链数据结构实现上述求解3) 采用递归实现上述求解4) 如果采用4种方法者,适当加分43 纸牌游戏(限1 人完成)(此题太简单,尽量不选)任务:编号为1-52张牌,正面向上,从第2 张开始,以2为基数,是2的倍数的牌翻 一次,直到最后一张牌;然后,从第3张开始,以3为基数,是3 的倍数的牌翻一次,直到 最后一张牌;然后从第4张开始,以4为基数,是4的倍数的牌翻一次,直到最后一张 牌; .再依次 5的倍数的牌翻一次, 6 的, 7的 直到 以 52为基数的 翻过,输出:这时正 面向上的牌有哪些?

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!