还剩8页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
数据结构课程设计题目
1、运动会分数统计任务参加运动会有n个学校,学校编号为1……no比赛分成m个男子项目,和w个女子项目项目编号为男子
7、
5、
3、
2、1,前三名的积分分别为
5、
3、2;哪些取前五名或者前三名由学生自己设定水二20,n〈二20功能要求产生各学校的成绩单,内容包括各校所取得的每项成绩的项目号,名次,姓名和得分;产生团体总分报表,内容包括校号,男子团体总分,女子团体总分和团体总分.输出形式有中文提示,各学校分数为整形界面要求有合理的提示,每一个功能可以设立菜单,根据提示,可以完成相关的功能要求存储结构学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决请在最后的上交资料中指明你用到的存储结构;测试数据要求使用
1、全部合法数据;
2、整体非法数据;
3、局部非法数据进行程序测试,以保证程序的稳定测试数据及测试结果请在上交的资料中写明;
2、约瑟夫环问题描述编号为1,2…n的n个人按顺时针方向围坐一圈,每人持有一个密码正整数一开始任选一个正整数作为报数的上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时住手报数,报m的人出列,将他的密码作为新的m值,从他的顺时针方向上的下一个开始重新从1报数,如此下去,直至所有人全部出列为止,设计一个程序求出出列顺序基本要求
1、利用单循环链表作为存储结构摹拟此过程;
2、键盘输入总人数、初始报数上限值m及各人密码;
3、按照出列顺序输出各人的编号
3、算术表达式求值演示任务表达式计算是实现程序设计语言的基本问题之一,也是栈的应用的一个典型例子设计一个程序,实现利用算符优先算法计算算术表达式求值基本要求1通过键盘输入表达式字符序列,并转换为整数表达式2进行输入合法性验证,对于错误表达式给出提示;3对算术运算表达式求值,对于正确的表达式给出最后的结果4运算符包括乘方,开方,单目减等运算符界面要求有合理的提示,每一个表达式求值结束后,根据提示,决定是否进行下一个表达式的计算;提示1设置运算符栈和运算数栈辅助分析算符优先关系;数据结构课程设计题目
三、上交相关内容要求上交的成果的内容必须由以下四个部份组成,缺一不可
1.上交源程序学生按照课程设计的具体要求所开辟的所有源程序(应该放到一个文件夹中);
2.上交程序的说明文件(保存在.txt中)在说明文档中应该写明上交程序所在的目录,上交程序的主程叙文件名,如果需要安装,要有程序的安装使用说明;
3.课程设计报告(保存在word文档中,文件名要求按照姓名-学号-课程设计报告起名,如文件名为张三-001-课程设计报告)按照课程设计的具体要求建立的功能模块,每一个模块要求按照如下几个内容认真完成;其中包括a)需求分析在该部份中叙述,每一个模块的功能要求b)概要设计在此说明每一个部份的算法设计说明(可以是描述算法的流程图),每一个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义c)详细设计各个算法实现的源程序,对每一个题目要有相应的源程序(可以是一组源程序,每一个功能模块采用不同的函数实现)源程序要按照写程序的规则来编写要结构清晰,重点函数的重点变量,重点功能部份要加之清晰的程序注释d)调试分析测试数据,测试输出的结果,时间复杂度分析,和每一个模块设计和调试时存在问题的思量(问题是哪些?问题如何解决?),算法的改进设想
4.课设总结(保存在word文档中)总结可以包括课程设计过程的收获、遇到问题、遇到问题解决问题过程的思量、程序调试能力的思量、对数据结构这门课程的思考、在课程设计过程中对《数据结构》课程的认识等内容
(2)在读入表达式的字符序列的同时,完成运算符和运算数的识别处理,以及相应的运算;
(3)在识别出运算数的同时,要将其字符序列形式转换成整数形式;
(4)在程序的适当位置输出运算符栈,运算数栈,输入字符和主要操作的内容
4、停车场管理系统设计内容设有一个可以停放辆汽车的狭长停车场,它惟独一个大门可以供车辆进出车辆按到达n停车场时间的早晚挨次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场停车场内如有某辆车要开走,在他之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆在依原来的次序进场每辆车在离开停车场时.,都应依据它在停车场内停留的时间长短交费如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序编制一程序摹拟该停车场的管理设计目的
(1)掌握栈和队列的建立
(2)掌握栈和队列的基本操作
(3)深入了解栈和队列的特性,以便在解决实际问题中灵便运用它们
(4)加深对栈和队列的理解和认识设计要求
(1)以栈摹拟停车场,以队列摹拟车场外的便道,按照从终端读入的输入数据序列进行摹拟管理
(2)每一组输入数据包括三个数据项汽车“到达”或者“离去”信息、汽车牌照号码以及到达或者离去的时刻
(3)对每一组输入数据进行操作后的输出信息为若是车辆到达,则输出汽车在停车场或者便道上的停车位置;若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费,功能可自己添加)
5、文章编辑功能输入一页文字,程序可以统计出文字、数字、空格的个数静态存储一页文章,每行最多不超过80个字符,共N行;要求
(1)分别统计出其中英文字母数和空格数及整篇文章总字数;
(2)统计某一字符串在文章中浮现的次数,并输出该次数;
(3)替换某一子串,输出结果存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围可以输入大写、小写的英文字母、任何数字及标点符号输出形式
(1)分行输出用户输入的各行字符;
(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、一元多项式的加法、减法的实现设有一元多项式Amx和Bnx.Amx=A0+Alxl+A2x2+A3x3+…+AmxmBnx=B0+Blxl+B2x2+B3x3+…+Bnxn请实现求Mx=Am x+Bn x、Mx=Amx-Bnx和Mx=Amx XBnx要求o1首先判定多项式是否稀疏2分别采用顺序和动态存储结构实现;3结果Mx中无重复阶项和无零系数项;4要求输出结果按指数的升幕和降累两种罗列情况
17、车箱调度问题描述假设停在铁路调度站入口处的车箱序列的编号挨次为
1、
2、
3、4设计一个程O序,求出所有可能由此输出的长度为4的车箱序列
18、走迷宫游戏程序开始运行时显示一个迷宫地图,迷宫中央有一只老鼠,迷宫的右下方有一个粮仓游戏的任务是使用键盘上的方向键控制老鼠在规定的时间内走到粮仓处要求1老鼠形象可辨认,可用键盘控制老鼠上下摆布挪移;2迷宫的墙足够结子,老鼠不能穿墙而过;3正确检测结果,若老鼠在规定时间内走到粮仓处,提示成功,否则提示失败;4添加编辑迷宫功能,可修改当前迷宫,修改内容墙变路、路变墙;5找出走出迷宫的所有路径,以及最短路径利用序列化功能实现迷宫地图文件的存盘和读出等功能
19、文本文件单词的检索与计数设计要求与分析要求编程建立一个文本文件,每一个单词不包含空格且不跨行,单词由字符序列构成且区分大小写;统计给定单词在文本文件中浮现的总次数;检索输出某个单词浮现在文本中的行号、在该行中浮现的次数以及位置该设计要求可分为三个部份实现其一,建立文本文件,文件名由用户用键盘输入;其二,给定单词的计数,输入一个不含空格的单词,统计输出该单词在文本中的浮现次数;其三,检索给定单词,输入一个单词,检索并输出该单词所在的行号、该行中浮现的次数以及在该行中的相应位置
1.建立文本文件2给定单词的计数3检索单词浮现在文本文件中的行号、次数及其位置4主控菜单程序的结构
①头文件包含
②菜单选项包含建立文件、单词定位、单词计数、退出程序
③选择—4执行相应的操作,其他字符为非法
20、稀疏矩阵应用要求实现三元组的稀疏矩阵的加法、转置、乘法运算的实现1稀疏矩阵的存储2稀疏矩阵加法3矩阵乘法4矩阵转置
21、哈夫曼编码/译码器【问题描述】设计一个利用哈夫曼算法的编码和译码系统,重复地显示并处理以下项目,直到选择退出为止【基本要求】1将权值数据存放在数据文件文件名为data,txt,位于执行程序的当前目录中2分别采用动态和静态存储结构3初始化键盘输入字符集大小n、n个字符和n个权值,建立哈夫曼树;4编码利用建好的哈夫曼树生成哈夫曼编码;5输出编码;6设字符集及频度如下表字符空格ABCDEFGHIJKLM频度1866413223210321154757153220字符NOPQRSTUVWXYZ频度5763151485180238181161【进一步完成内容】1译码功能;2显示哈夫曼树;3界面设计的优化
22、线索二叉树的应用要求实现线索树建立、插入、删除、恢复线索的实现
23、教学计划编制问题设计要求针对计算机系本科课程,根据课程之间的依赖关系(如离散数学应在数据结构之前开设)制定课程安排计划,并满足各学期课程数目大致相同
24、最小生成树问题问题描述给定一个地区的n个城市间的距离网,用prim算法或者kruskal算法建立最小生成树,并计算得到的最小生成树的代价基本要求
(1)城市间的距离网采用邻接矩阵表示,邻接矩阵的存储结构定义采用课本中给出的定义,若两个城市之间不存在道路,则将相应边的权值设为自己定义的无穷大值要求在屏幕上显示得到的最小生成树中包括了哪些城市间的道路,并显示得到的最小生成树的代价;
(2)表示城市间距离网的邻接矩阵(要求至少6个城市,10条边);
(3)最小生成树中包括的边及其权值,并显示得到的最小生成树的代价设计要求在n个城市之间建设网络,只需保证连通即可,求最经济的架设方法存储结构采用多种求解算法多种
25、关键路径问题问题描述设计一个程序求出完成整项工程至少需要多少时间以及整项工程中的关键活动基本要求
(1)对一个描述工程的AOE网,应判断其是否能够顺利进行
(2)若该工程能顺利进行,输出完成整项工程至少需要多少时间,以及每一个关键活动所依附的两个顶点、最早发生时间、最迟发生时间
26、哈希表设计任务针对某个集体(比如你所在的班级)中的“姓名”设计一个哈希表,使得平均查找长度不超过R,完成相应的建表和查表程序要求假设人名为中国人姓名的汉语拼音形式待填入哈希表的人名共有30个,取平均查找长度的上限为
2.哈希函数用除留余数法构造,用伪随机探测再散列法和拉链法处理冲突
27.排序综合利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序要求1)至少采用三种方法实现上述问题求解(提示,快速排序必做其他可采用的方法还有插入排序、希尔排序、起泡排序、选择排序、堆排序、归并排序)并把排序后的结果保存在不同的文件中2)统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对照),找出其中两种较快的方法3)如果采用4种或者4种以上的方法者,可适当加分
28、图书管理系统问题描述设计一个计算机管理系统完成图书管理基本业务【基本要求】1)每种书的登记内容包括书号、书名、著作者、现存量和库存量;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、二叉平衡排序树问题描述从一棵空树开始创建,在创建过程中,保证树的有序性,同时还要针对树的平衡性做些调整最终要把创建好的二叉排序树转换为二叉平衡排序树基本要求
(1)创建(插入、调整);
(2)输出
36.航班信息排序与检索问题描述根据旅客提出的终点站名输出下列信息航班号、飞机号、星期几飞行、最近一天航班的日期和余票额设计要求
(1)对飞机航班信息进行排序和查找可按航班的航班号、起点站、到达站、起飞时间以及到达时间等信息进行查询;
(2)采用基数排序法对一组具有结构特点的飞机航班号进行排序;
(3)利用二分法查找对排好序的航班记录按航班号实现快速排序;
(4)每一个航班记录包括八项,分别为航班号、起点站、终点站、班次、起飞时间、到达时间、飞机型号以及票价等
37.任意长的整数加法问题描述设计一个程序实现两个任意长的整数的求和运算基本要求利用双向循环链表,设计一个实现任意长的整数进行加法运算的演示程序要求输入和输出每四位一组,组间用逗号隔开如1,0000,0000,0000,0000o
38.敢死队问题有M个敢死队员要炸掉敌人的一碉堡,谁都不想去,排长决定用轮回数数的办法来决定哪个战士去执行任务如果前一个战士没完成任务,则要再派一个战士上去现给每一个战土编一个号,大家围坐成一圈,随便从某一个战士开始计数,当数到5时,对应的战士就去执行任务,且此战士再也不参加下一轮计数如果此战士没完成任务,再从下一个战士开始数数,被数到第5时,此战士接着去执行任务以此类推,直到任务完成为止排长是不愿意去的,假设排长为1号,请你设计一程序,求出从第几号战士开始计数才干让排长最后一个留下来而不去执行任务要求至少采用两种不同的数据结构的方法实现如果采用三种以上的方法者,可加分
39、顺序表操作输入一组整形元素序列,建立顺序表要求1实现顺序表的遍历、查找、插入、删除;2实现将顺序表中所有奇数排在偶数之前,表的前面为奇数,后面为偶数;
40、通讯录的制作设计目的用〈〈数据结构〉〉中的双向链表作数据结构,结合C语言基本知识编写一个通讯录管理系统以把所学数据结构知识应用到实际软件开辟中去设计内容本系统应完成一下几方面的功能1输入信息-------enter;2显示信息------------display;3查找以姓名作为关键字--------------search;4删除信息------------delete;5存盘------------save;6装入------------load;设计要求1每条信息至包含姓名NAME街道STREET城市CITY邮编EIP国家STATE几项2作为一个完整的系统,应具有友好的界面和较强的容错能力3上机能正常运行,并写出课程设计报告
41、学生搭配问题一班有m个女生,有n个男生m不等于n,现要开一个舞会.男女生分别编号坐在舞池的两边的椅子上.每曲开始时,挨次从男生和女生中各出一人配对跳舞,本曲没成功配对者坐着等待下一曲找舞伴.请设计一系统摹拟动态地显示出上述过程,要求如下1输出每曲配对情况2计算出任何一个男生编号为X和任意女生编号为Y,在第K曲配对跳舞的情况.至少求出K的两个值.3尽量设计出多种算法及程序,可视情况适当加分提示用队列来解决比较方便.。