• 96.50 KB
  • 8页

数据结构毕业设计题目整理.doc

  • 8页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'.数据结构课程设计题目1.飞机订票系统(限1人完成)(顺序或链式存储)  任务:通过此系统可以实现如下功能:  录入:  可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)  查询:  可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);  可以输入起飞抵达城市,查询飞机航班情况;  订票:(订票情况可以存在一个数据文件中,结构自己设定)  可以订票,如果该航班已经无票,可以提供相关可选择航班;  退票:可退票,退票后修改相关数据文件;  客户资料有,证件号,订票数量及航班情况,订单要有编号。  修改航班信息:  当航班信息改变可以修改航班数据文件  要求:  根据以上功能说明,设计航班信息,订票信息,客户信息的存储结构,设计程序完成功能;2.宿舍管理查询软件(限1人完成)任务:为宿舍管理人员编写一个宿舍管理查询软件,程序设计要求:采用交互工作方式建立数据文件,包括学生信息、宿舍信息、住宿信息,学生信息按关键字(、学号)进行排序(排序方法自选,不能相同);查询:(用二分查找实现以下操作)按查询按学号查询(用顺序查找实现以下操作)按房号查询3.校园导航问题(限1人完成)设计要求:设计你的学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)。要求:能增加场所4.图书借阅管理系统(限1人完成)(顺序或链式存储)主要分为两大功能:1)图书管理(增加图书、查询图书、删除图书、图书借阅、还书);2)会员管理(增加会员、查询会员、删除会员、借书信息);5.学生成绩管理(限1人完成)(顺序或链式存储)包括:课程信息,学生信息等;能增加课程或学生。实现功能:输入、输出、插入、删除、查找、显示、保存、排序、退出。6.活期储蓄帐目管理(限1人完成)活期储蓄处理中,储户开户、销户、存入、支出活动频繁,系统设计要求:1)能比较迅速地找到储户的,以实现存款、取款记账;. .1)能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。2.通讯录的制作(限1人完成)设计目的:用〈〈数据结构〉〉中的双向链表作数据结构,编写一个通讯录管理系统。以把所学数据结构知识应用到实际软件开发中去。设计容:本系统应完成一下几方面的功能:1)输入信息——enter();2)显示信息———display();3)查找以作为关键字———search();4)删除信息———delete();5)存盘———save();6)装入———load();7)排序---sort()设计要求:1)每条信息至少包含:(NAME)街道(STREET)城市(CITY)邮编(EIP)国家(STATE)几项2)作为一个完整的系统,应具有友好的界面和较强的容错能力3.哈夫曼编码/译码器(限1人完成)【问题描述】设计一个利用哈夫曼算法的编码和译码系统,重复地显示并处理以下项目,直到选择退出为止。【基本要求】1)将权值数据存放在数据文件(文件名为data.txt,位于执行程序的当前目录中)2)初始化:键盘输入字符集大小n、n个字符和n个权值,建立哈夫曼树;3)编码:利用建好的哈夫曼树生成哈夫曼编码;4)输出编码;5)设字符集及频度如下表:字符空格ABCDEFGHIJKLM频度1866413223210321154757153220字符NOPQRSTUVWXYZ频度57631514851802381811614.图书管理系统(限1人完成)(顺序或链式存储)【问题描述】设计一个计算机管理系统完成图书管理基本业务。【基本要求】1)每种书的登记容包括书号、书名、著作者、现存量和库存量;2)对书号建立索引表(线性表)以提高查找效率;3)系统主要功能如下:*采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加;*借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量;. .*归还:注销对借阅者的登记,改变该书的现存量。*对借阅者信息的管理,增加、删除、查找等1.查找系统(限1人完成)【问题描述】利用散列表的设计与实现查找系统。【基本要求】1)设每个记录有下列数据项:、用户名、地址;2)从键盘输入各记录,分别以和用户名为关键字建立散列表;3)采用一定的方法解决冲突;4)查找并显示给定的记录;查找并显示给定用户名的记录。2.一元多项式的实现。(限1人完成)设有一元多项式Am(x)和Bn(x).Am(x)=A0+A1x1+A2x2+A3x3+…+AmxmBn(x)=B0+B1x1+B2x2+B3x3+…+Bnxn请实现求M(x)=Am(x)+Bn(x)、M(x)=Am(x)-Bn(x)和M(x)=Am(x)×Bn(x)。要求:1)首先判定多项式是否稀疏2)分别采用顺序和动态存储结构实现;3)结果M(x)中无重复阶项和无零系数项;4)要求输出结果的升幂和降幂两种排列情况3.表达式的值1(限1人完成)要求:从文件读取表达式,判断表达式是否合理,将表达式转换成后缀形式,按后缀表达式求值;题目涉及加减乘除,带括弧的混合运算;随时可以退出;4.表达式的值2(限1人完成)要求:从键盘输入表达式,利用算符优先原则求中缀表达式,并将表达式及其结果存入指定文件,可重复计算。5.学生成绩管理系统(限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)输入一个学生后,能查找到此学生的信息并输出结果(至少采用两种查找方法实现)5)要求使用结构体,链或数组等实现上述要求.1.图的遍历和生成树求解实现(限1人完成)要求:1)先任意创建一个图;2)图的DFS,BFS的递归和非递归算法的实现3)最小生成树(两个算法)的实现,求连通分量的实现4)要求用邻接矩阵、邻接表结构存储实现2.排序综合(限1人完成)利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序。要求:1)至少采用7种方法实现上述问题求解(提示,可采用的方法有插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序)。并把排序后的结果保存在不同的文件中。2)统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中两种较快的方法。3.josephs环(限1人完成)任务:编号是1,2,……,n的n个人按照顺时针方向围坐一圈,每个人只有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个仍开始顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向的下一个人开始重新从1报数,如此下去,直到所有人全部出列为止。设计一个程序来求出出列顺序。要求:利用单向循环链表存储结构模拟此过程,按照出列的顺序输出各个人的编号。测试数据:m的初值为20,n=7,7个人的密码依次为3,1,7,2,4,7,4,首先m=6,则正确的输出是什么?要求:输入数据:建立输入处理输入数据,输入m的初值,n,输入每个人的密码,建立单循环链表。输出形式:建立一个输出函数,将正确的输出序列4.HUFFMAN树及编码(限1人完成). .随机输入一篇英文文章(或读一个TXT文件),生成并显示HUFFMAN树,输出每个字母的HUFFMAN编码,判断ASCII编码与HUFFMAN编码对本篇报文长度节省效果。1.拓扑排序(限1人完成)[问题描述]建立图的存储结构,能够输入图的顶点和边的信息,并存储到相应存储结构中,再编写函数实现图的拓扑排序。[基本要求]1)选择邻接表作为有向图的存储结构模拟整个过程,并输出拓扑排序的顶点序列。2)给出逆向的拓扑有序序列。[测试数据]利用下图中的数据调试程序2.简单的职工管理系统(限1人完成)(顺序或链式存储)1.问题描述  对单位的职工进行管理,包括插入、删除、查找、排序等功能。2.要求  职工对象包括、性别、出生年月、工作年月、学历、职务、住址、等信息。(1)新增一名职工:将新增职工对象按以字典方式增加到职工管理文件中。(2)删除一名职工:从职工管理文件中删除一名职工对象。(3)查询:从职工管理文件中查询符合某些条件的职工。(4)修改:检索某个职工对象,对其某些属性进行修改。(5)排序:按某种需要对职工对象文件进行排序。3.实现提示  职工对象数不必很多,便于一次读入存,所有操作不经过外存交换。(1)由键盘输入职工对象,以文件方式保存。程序执行时先将文件读入存。(2)对职工对象中的""按字典顺序进行排序。(3)对排序后的职工对象进行增、删、查询、修改等操作。3.哈希表设计(限1人完成). .[问题描述]:针对自己的班集体中的“人名”设计一个哈希表,使得平均查找长度不超过R,完成相应的建表和查表程序。[基本要求]:假设人名为中国的汉语拼音形式。待填入哈希表的人名共有30个,取平均查找长度的上限为2。哈希函数用除留余数法构照,用链表法处理冲突。[测试数据]:读取熟悉的30个人的。1.计算一元稀疏多项式(限1人完成)要求完成如下功能:(1)输入并建立多项式——creatpolyn()(2)输出多项式,输出形式为整数序列,序列按指数升序排列——printpolyn()(3)多项式a和b相加,建立多项式a+b,输出相加的多项式——addpolyn()(4)多项式a和b相减,建立多项式a-b,输出相减的多项式——subpolyn()用带表头结点的单链表存储多项式。测试数据:(1)(2x+5x8-3.1x11)+(7-5x8+11x9)(2)(6-3x+4.4x2-1.2x9)-(-6-3x+5.4x2+7.8x15)(3)(x+x2+x3)+0(4)(x+x3)-(-x-x-3)2.敢死队问题(限1人完成)有M个敢死队员要炸掉敌人的一碉堡,谁都不想去,排长决定用轮回数数的办法来决定哪个战士去执行任务。如果前一个战士没完成任务,则要再派一个战士上去。现给每个战士编一个号,大家围坐成一圈,随便从某一个战士开始计数,当数到5时,对应的战士就去执行任务,且此战士不再参加下一轮计数。如果此战士没完成任务,再从下一个战士开始数数,被数到第5时,此战士接着去执行任务。以此类推,直到任务完成为止。排长是不愿意去的,假设排长为1号,请你设计一程序,求出从第几号战士开始计数才能让排长最后一个留下来而不去执行任务。要求:至少采用两种不同的数据结构的方法实现。3.关键路径(限1人完成)问题描述:设计一个程序求出完成整项工程至少需要多少时间以及整项工程中的关键活动。基本要求:(1)对一个描述工程的AOE网,应判断其是否能够顺利进行。(2)若该工程能顺利进行,输出完成整项工程至少需要多少时间,以及每一个关键活动所依附的两个顶点、最早发生时间、最迟发生时间。. .1.教学计划编制问题(限1人完成)[问题描述]大学的每个专业都要制定教学计划。假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限值均相等,每个专业开设的课程都是确定的,而且课程在开设时间的安排必须满足先修关系。每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。每门课恰好占一个学期。试在这样的前提下设计一个教学计划编制程序。[基本要求](1)输入参数包括:学期总数,一学期的学分上限,每门课的课程号(固定占3位的字母数字串)、学分和直接先修课的课程号。(2)允许用户指定下列两种编排策略之一:一是使学生在各学期中的学习负担尽量均匀;二是使课程尽可能地集中在前几个学期中。(3)若根据给定的条件问题无解,则报告适当的信息;否则将教学计划输出到用户指定的文件中。计划的表格格式自行设计。[测试数据]学期总数:6;学分上限:10;该专业共开设12门课,课程号从C01到C12,学分顺序为2,3,4,3,2,3,4,4,7,5,2,3。先修关系如下:课程编号课程名称先决条件C1程序设计基础无C2离散数学C1C3数据结构C1,C2C4汇编语言C1C5语言的设计和分析C3,C4C6计算机原理C11C7编译原理C5,C3C8操作系统C3,C6C9高等数学无C10线性代数C9C11普通物理C9C12数值分析C9,C10,C1[实现提示]可设学期总数不超过12,课程总数不超过100。如果输入的先修课程号不在该专业开设的课程序列中,则作为错误处理。应建立部课程序号与课程号之间的对应关系。2.客户消费积分管理系统(限1人完成)(顺序或链式存储)问题描述:针对客户的消费情况,进行客户管理,根据客户的消费积分对客户实行不同程度的打折优惠。基本要求:1.采用一定的存储结构进行客户信息的存储;2.对客户的信息可以进行修改、删除、添加;3.能够根据消费情况进行客户积分的计算;根据积分情况实行不同程度的打折优惠;3.产品进销存管理系统(限1人完成)(顺序或链式存储)问题描述:针对某一种行业的库房的产品进销存情况进行管理。. .基本要求:1.采用一定的存储结构对库房的货品及其数量进行分类管理;2.可以进行产品类的添加、产品的添加、产品数量的添加;3.能够查询库房每种产品的总量、进货日期、销出数量、销售时间等;1.任意长的整数加法(限1人完成)问题描述:设计一个程序实现两个任意长的整数的求和运算。基本要求:利用双向循环链表,设计一个实现任意长的整数进行加法运算的演示程序。要求输入和输出每四位一组,组间用逗号隔开。如:1,0000,0000,0000,0000。2.构造可以使n个城市连接的最小生成树(限1人完成)问题描述:给定一个地区的n个城市间的距离网,用Prim算法或Kruskal算法建立最小生成树,并计算得到的最小生成树的代价。基本要求:1、城市间的距离网采用邻接矩阵表示,邻接矩阵的存储结构定义采用课本中给出的定义,若两个城市之间不存在道路,则将相应边的权值设为自己定义的无穷大值。要求在屏幕上显示得到的最小生成树中包括了哪些城市间的道路,并显示得到的最小生成树的代价。2、表示城市间距离网的邻接矩阵(要求至少10个城市,20条边)3、最小生成树中包括的边及其权值,并显示得到的最小生成树的代价。3.实时监控报警系统(限1人完成)问题描述:建立一个报警和出警管理的系统基本要求:1.采用一定的存储结构存储报警信息,要求有容、时间;2.有一次的出警就应该在待处理的信息中删除这条信息;3.记录出警信息;待处理信息过多时会发出警告;4.学生搭配问题(限1人完成) 一班有m个女生,有n个男生(m不等于n),现要开一个舞会.男女生分别编号坐在舞池的两边的椅子上.每曲开始时,依次从男生和女生中各出一人配对跳舞,本曲没成功配对者坐着等待下一曲找舞伴. 请设计一系统模拟动态地显示出上述过程,要求如下:1)输出每曲配对情况2)计算出任何一个男生(编号为X)和任意女生(编号为Y),在第K曲配对跳舞的情况.至少求出K的两个值.3)尽量设计出多种算法及程序 提示:用队列来解决比较方便..'