《数据结构》课程设计任务书级用.docx
《《数据结构》课程设计任务书级用.docx》由会员分享,可在线阅读,更多相关《《数据结构》课程设计任务书级用.docx(24页珍藏版)》请在冰豆网上搜索。
![《数据结构》课程设计任务书级用.docx](https://file1.bdocx.com/fileroot1/2023-8/15/a6e91ea1-6dc2-4b4a-9196-d89613870ddb/a6e91ea1-6dc2-4b4a-9196-d89613870ddb1.gif)
《数据结构》课程设计任务书级用
昆明学院信息技术学院
《数据结构》课程设计任务清单
⒈航空客运订票系统[偏难]
⒉迷宫问题[偏难]
⒊哈夫曼编\译码器
⒋五子棋小游戏[偏难]
⒌文章编辑
⒍约瑟夫环问题[偏易]
⒎赫夫曼树的建立[偏易]
⒏各种排序程序的改进算法
⒐字符串的操作[偏易]
⒑链表的基本操作[易]
11.一元稀疏多项式计算器[偏易]
12.利用Hash技术统计C源程序中关键字的频度[难]
13.运动会分数统计[难]
14.宿舍管理查询软件[偏难]
15.校园导航问题[偏难]
16.通讯录的制作[难]
17.小型图书馆管理系统[偏难]
18.学生成绩管理系统[偏难]
19.数制转换问题[偏易]
20.猴子吃桃子问题[偏易]
请同学1-3人一组选择1个题目(也可自选题目),课程设计说明书主要介绍自己完成的部分。
注:
选择标注[易][偏易]的题目,得分将偏低;选择标注[偏难][难]的题目,得分会较高;没有标注的为中等难度。
昆明学院信息技术学院
《数据结构》课程设计任务书1
设计题目
航空客运订票系统
已知技术参数和设计要求
通过此系统可以实现以下功能:
录入:
可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)。
查询:
可以查询某个航线的情况(如:
输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况。
订票:
(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班。
退票:
可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
修改航班信息:
当航班信息改变可以修改航班数据文件。
要求:
根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。
设计内容与步骤
⑴选择合适的数据结构
⑵结点结构的设计
⑶算法设计与分析
⑷程序设计、实现、调试
⑸课程设计说明书
设计工作
⑴设计工作6学时
⑵实现与调试18学时
⑶课程设计说明书6学时
设计考核要求
⑴考勤20%
⑵课程设计说明书50%
⑶答辩30%
王亚宁制
昆明学院信息技术学院
《数据结构》课程设计任务书2
设计题目
迷宫问题
已知技术参数和设计要求
任务:
可以输入一个任意大小的迷宫数据,用非递归的方法求出一条走出迷宫的路径,并将路径输出;
要求:
在上交资料中请写明:
存储结构、基本算法(可以使用程序流程图)、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法。
设计内容与步骤
⑴选择合适的数据结构
⑵结点结构的设计
⑶算法设计与分析
⑷程序设计、实现、调试
⑸课程设计说明书
设计工作
⑴设计工作6学时
⑵实现与调试18学时
⑶课程设计说明书6学时
设计考核要求
⑴考勤20%
⑵课程设计说明书50%
⑶答辩30%
王亚宁制
昆明学院信息技术学院
《数据结构》课程设计任务书3
设计题目
哈夫曼编\译码器
已知技术参数和设计要求
题目的基本要求是:
⑴初始化:
键盘输入字符集大小n,n个字符和n个权值,建立哈夫曼树;
⑵编码:
利用建好的huffman树生成huffman编码;
⑶输出编码;
⑷译码功能;
⑸字符和频度如下:
字符空格ABCDEFGHIJKLMNOPQ
频度18664132232103211547571232205763151
字符RSTUVWXYZ
频度48518023818116
设计内容与步骤
⑴选择合适的数据结构
⑵结点结构的设计
⑶算法设计与分析
⑷程序设计、实现、调试
⑸课程设计说明书
设计工作
⑴设计工作6学时
⑵实现与调试18学时
⑶课程设计说明书6学时
设计考核要求
⑴考勤20%
⑵课程设计说明书50%
⑶答辩30%
王亚宁制
昆明学院信息技术学院
《数据结构》课程设计任务书4
设计题目
五子棋小游戏
已知技术参数和设计要求
要求:
编写基于合命令行的五子棋小游戏
阶段:
⑴实现五子棋的人人对局功能;
⑵实现五子棋的人机对局功能;
⑶实现两机对局;
前两阶段必须实现,后一阶段不做要求。
设计内容与步骤
⑴选择合适的数据结构
⑵结点结构的设计
⑶算法设计与分析
⑷程序设计、实现、调试
⑸课程设计说明书
设计工作
⑴设计工作6学时
⑵实现与调试18学时
⑶课程设计说明书6学时
设计考核要求
⑴考勤20%
⑵课程设计说明书50%
⑶答辩30%
王亚宁制
昆明学院信息技术学院
《数据结构》课程设计任务书5
设计题目
文章编辑
已知技术参数和设计要求
功能:
输入一页文字,程序可以统计出文字、数字、空格的个数。
静态存储一页文章,每行最多不超过80个字符,共N行。
要求:
⑴分别统计出其中英文字母数和空格数及整篇文章总字数;
⑵统计某一字符串在文章中出现的次数,并输出该次数;
⑶删除某一子串,并将后面的字符前移。
存储结构使用线性表,分别用几个子函数实现相应的功能;
输入数据的形式和范围:
可以输入大写、小写的英文字母、任何数字及标点符号。
输出形式:
⑴分行输出用户输入的各行字符;
⑵分4行输出“全部字母数”、“数字个数”、“空格个数”、“文章总字数”
⑶输出删除某一字符串后的文章。
设计内容与步骤
⑴结点结构的设计
⑵算法设计与分析
⑶程序设计、实现、调试
⑷课程设计说明书
设计工作
⑴设计工作6学时
⑵实现与调试18学时
⑶课程设计说明书6学时
设计考核要求
⑴考勤20%
⑵课程设计说明书50%
⑶答辩30%
王亚宁制
昆明学院信息技术学院
《数据结构》课程设计任务书6
设计题目
约瑟夫环问题
已知技术参数和设计要求
任务:
编号是1,2,……,n的n个人按照顺时针方向围坐一圈,每个人只有一个密码(正整数)。
一开始任选一个正整数作为报数上限值m,从第一个人开始顺时针方向自1开始顺序报数,报到m时停止报数。
报m的人出列,将他的密码作为新的m值,从他在顺时针方向的下一个人开始重新从1报数,如此下去,直到所有人全部出列为止。
设计一个程序来求出出列顺序。
要求:
利用单向循环链表存储结构模拟此过程,按照出列的顺序输出各个人的编号。
测试数据:
m的初值为20,n=7,7个人的密码依次为3,1,7,2,4,7,4,则正确的输出是什么?
要求:
输入数据(包括输入m的初值,以及每个人的密码n),建立单循环链表。
输出形式:
建立一个输出函数,输出正确的输出序列。
设计内容与步骤
⑴结点结构的设计
⑵算法设计与分析
⑶程序设计、实现、调试
⑷课程设计说明书
设计工作
⑴设计工作6学时
⑵实现与调试18学时
⑶课程设计说明书6学时
设计考核要求
⑴考勤20%
⑵课程设计说明书50%
⑶答辩30%
王亚宁制
昆明学院信息技术学院
《数据结构》课程设计任务书7
设计题目
赫夫曼树的建立
已知技术参数和设计要求
任务:
建立最优二叉树函数。
要求:
可以建立函数输入二叉树,并输出其赫夫曼树。
在上交资料中请写明:
存储结构、基本算法(可以使用程序流程图)、输入输出、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法。
设计内容与步骤
⑴结点结构的设计
⑵算法设计与分析
⑶程序设计、实现、调试
⑷课程设计说明书
设计工作
⑴设计工作6学时
⑵实现与调试18学时
⑶课程设计说明书6学时
设计考核要求
⑴考勤20%
⑵课程设计说明书50%
⑶答辩30%
王亚宁制
昆明学院信息技术学院
《数据结构》课程设计任务书8
设计题目
各种排序程序的改进算法
已知技术参数和设计要求
任务:
用程序实现插入法排序、起泡法改进算法排序。
利用插入排序和冒泡法的改进算法,将用户随机输入的一列数按递增的顺序排好。
输入的数据形式为任何一个正整数,大小不限。
输出的形式:
数字大小逐个递增的数列。
设计内容与步骤
⑴结点结构的设计
⑵算法设计与分析
⑶程序设计、实现、调试
⑷课程设计说明书
设计工作
⑴设计工作6学时
⑵实现与调试18学时
⑶课程设计说明书6学时
设计考核要求
⑴考勤20%
⑵课程设计说明书50%
⑶答辩30%
王亚宁制
昆明学院信息技术学院
《数据结构》课程设计任务书9
设计题目
字符串的操作
已知技术参数和设计要求
基本功能要求:
⑴字符串采用数组存储,建立两个字符串String1和String2,输出两个字符串。
⑵将字符串String2的头n个字符添加到String1的尾部。
输出结果。
⑶查找串String3在串String1中的位置,若String3在String1中不存在,则插入String3在String1中的m位置上。
输出结果。
测试数据:
⑴String1:
“typedefstructArcBox”
String2:
“VertexTypedata”
String3:
“data”
n:
6,m:
7
⑵String1:
“structArcBox”
String2:
“VertexType”
String3:
“Box”
n:
3,m:
3
设计内容与步骤
⑴结点结构的设计
⑵算法设计与分析
⑶程序设计、实现、调试
⑷课程设计说明书
设计工作
⑴设计工作6学时
⑵实现与调试18学时
⑶课程设计说明书6学时
设计考核要求
⑴考勤20%
⑵课程设计说明书50%
⑶答辩30%
王亚宁制
昆明学院信息技术学院
《数据结构》课程设计任务书10
设计题目
链表的基本操作
已知技术参数和设计要求
一、设计目的:
⑴掌握线性链表的建立。
⑵掌握线性链表的基本操作。
二、设计内容和要求
利用链表的插入运算建立线性链表,然后利用链表的查找、删除、计数、输出等运算反复实现链表的这些操作(插入、删除、查找、计数、输出单独写成函数的形式),并能在屏幕上输出操作前后的结果。
设计内容与步骤
⑴结点结构的设计
⑵算法设计与分析
⑶程序设计、实现、调试
⑷课程设计说明书
设计工作
⑴设计工作6学时
⑵实现与调试18学时
⑶课程设计说明书6学时
设计考核要求
⑴考勤20%
⑵课程设计说明书50%
⑶答辩30%
王亚宁制
昆明学院信息技术学院
《数据结构》课程设计任务书11
设计题目
一元稀疏多项式计算器
已知技术参数和设计要求
基本功能定为:
⑴输入并建立多项式。
⑵输出多项式,输出形式为整数序列:
n,c1,e1,c2,e2,……,cn,en。
其中n是多项式的相数,Ci和Ei分别是第i项的系数和指数,序列按指数降序排列。
⑶两个多项式相加,建立并输出和多项式。
⑷两个多项式相减,建立并输出差多项式。
⑸两个多项式相乘,建立乘积多项式。
⑹计算多项式在x处的值
实现提示:
用带表头结点的单链表存储多项式。
设计内容与步骤
⑴结点结构的设计
⑵算法设计与分析
⑶程序设计、实现、调试
⑷课程设计说明书
设计工作
⑴设计工作6学时
⑵实现与调试18学时
⑶课程设计说明书6学时
设计考核要求
⑴考勤20%
⑵课程设计说明书50%
⑶答辩30%
王亚宁制
昆明学院信息技术学院
《数据结构》课程设计任务书12
设计题目
利用Hash技术统计C源程序中关键字的频度
已知技术参数和设计要求
一、任务描述
扫描一个C源程序,用Hash表存储该程序中出现的关键字,并统计该程序中的关键字出现的频度。
用线性探测法解决Hash冲突。
设Hash函数为:
Hash(Key)=[(Key的首字母序号)*100+(Key的尾字母序号)]Mod41。
关键字39个,参考C语言教材。
二、数据结构设计
①关键字表的存储结构;②Hash表中的结点结构。
频度、冲突次数
三、功能设计
⑴从一个大字符串中分解单词
⑵识别是否是关键词:
用哪种方法:
有序表查找、二叉查找树?
⑶Hash函数,解决冲突,统计冲突次数。
Key=>地址
⑷插入Hash表,或调整Hash表项中的频度
⑸输出Hash表,关键词总数,冲突次数
自己想象,功能要多,设计要合理。
四、技术讨论
①文件不同,Hash表各项次序是否一样?
②考察多个C源程序文件,计算当关键词总数约为1000时,冲突次数的总次数?
③Hash表空间增大后,是否冲突一定减少?
④比较其他的Hash函数,其他的冲突处理方法,效率有何差别。
⑤题目所给的Hash函数,好吗?
设计内容与步骤
⑴结点结构的设计
⑵算法设计与分析
⑶程序设计、实现、调试
⑷课程设计说明书
设计工作
⑴设计工作6学时
⑵实现与调试18学时
⑶课程设计说明书6学时
设计考核要求
⑴考勤20%
⑵课程设计说明书50%
⑶答辩30%
王亚宁制
昆明学院信息技术学院
《数据结构》课程设计任务书13
设计题目
运动会分数统计
已知技术参数和设计要求
任务:
参加运动会有n个学校,学校编号为1……n。
比赛分成m个男子项目,和w个女子项目。
项目编号为男子1……m,女子m+1……m+w。
不同的项目取前五名或前三名积分;取前五名的积分分别为:
7、5、3、2、1,前三名的积分分别为:
5、3、2;哪些取前五名或前三名由学生自己设定。
(m<=20,n<=20)
功能要求:
⑴可以输入各个项目的前三名或前五名的成绩;
⑵能统计各学校部分;
⑶可以按学校编号或名称、学校总分、男女团体总分排序输出;
⑷可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。
⑸数据存入文件并能随时查询。
⑹规定:
输入数据形式和范围(可以输入学校的名称,运动项目的名称)
输出形式:
有中文提示,各学校分数为整型。
界面要求:
有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。
存储结构:
学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。
(数据文件的数据读写方法等相关内容在C语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;
测试数据:
要求使用①全部合法数据;②整体非法数据;③局部非法数据。
进行程序测试,以保证程序的稳定。
测试数据及测试结果请在上交的资料中写明。
设计内容与步骤
⑴结点结构的设计
⑵算法设计与分析
⑶程序设计、实现、调试
⑷课程设计说明书
设计工作
⑴设计工作6学时
⑵实现与调试18学时
⑶课程设计说明书6学时
设计考核要求
⑴考勤20%
⑵课程设计说明书50%
⑶答辩30%
王亚宁制
昆明学院信息技术学院
《数据结构》课程设计任务书14
设计题目
宿舍管理查询软件
已知技术参数和设计要求
任务:
为宿舍管理人员编写一个宿舍管理查询软件,程序设计要求:
⑴采用交互工作方式
⑵建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种)。
查询菜单:
(用二分查找实现以下操作)
⑴按姓名查询
⑵按学号查询
⑶按房号查询
打印任一查询结果(可以连续操作)
设计内容与步骤
⑴结点结构的设计
⑵算法设计与分析
⑶程序设计、实现、调试
⑷课程设计说明书
设计工作
⑴设计工作6学时
⑵实现与调试18学时
⑶课程设计说明书6学时
设计考核要求
⑴考勤20%
⑵课程设计说明书50%
⑶答辩30%
王亚宁制
昆明学院信息技术学院
《数据结构》课程设计任务书15
设计题目
校园导航问题
已知技术参数和设计要求
设计要求:
设计你的学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)
设计内容与步骤
⑴结点结构的设计
⑵算法设计与分析
⑶程序设计、实现、调试
⑷课程设计说明书
设计工作
⑴设计工作6学时
⑵实现与调试18学时
⑶课程设计说明书6学时
设计考核要求
⑴考勤20%
⑵课程设计说明书50%
⑶答辩30%
王亚宁制
昆明学院信息技术学院
《数据结构》课程设计任务书16
设计题目
通讯录的制作
已知技术参数和设计要求
设计目的:
用《数据结构》中的双向链表作数据结构,给合C语言基本知识,编写一个通讯录管理系统,把所学数据结构知识应用到实际软件开发中去。
设计内容:
本系统应完成以下几方面的功能:
输入信息——enter();
显示信息——display();
以姓名作为关键字查找——search();
删除信息——delete();
存盘——save();
装入——load();
设计要求:
⑴每条信息至少包含:
姓名(NAME)、街道(STREET)、城市(CITY)、邮编(EIP)、国家(STATE)几项
⑵作为一个完整的系统,应具有友好的界面和较强的容错能力;
⑶上机能正常运行。
设计内容与步骤
⑴结点结构的设计
⑵算法设计与分析
⑶程序设计、实现、调试
⑷课程设计说明书
设计工作
⑴设计工作6学时
⑵实现与调试18学时
⑶课程设计说明书6学时
设计考核要求
⑴考勤20%
⑵课程设计说明书50%
⑶答辩30%
王亚宁制
昆明学院信息技术学院
《数据结构》课程设计任务书17
设计题目
小型图书馆管理系统(链表的插入,排序,查询,删除)
已知技术参数和设计要求
设计目的:
对C语言软件开发有一定的认识,了解并掌握开发的各个流程,以及各功能代码的实现。
创建一个图书馆管理系统,可进行还书(插入),排序,查找,借书(删除)操作。
设计原理:
⑴所有信息存储在一个带头结点的单向链表中,每个结点存储一条图书记录,即结构体(book),其中各域为:
书号(number)、书名(title)、作者(writer)、定价(pricing)、出版社(publishinghouse),指针域(next)。
⑵系统初始时图书记录为空,由用户录入信息,进行插入(包括创建),排序,查找,删除操作。
⑶有两种排序算法可选:
选择排序和直接插入排序,均由链表实现。
⑷如输入有错,给出出错提示。
设计内容与步骤
⑴结点结构的设计
⑵算法设计与分析
⑶程序设计、实现、调试
⑷课程设计说明书
设计工作
⑴设计工作6学时
⑵实现与调试18学时
⑶课程设计说明书6学时
设计考核要求
⑴考勤20%
⑵课程设计说明书50%
⑶答辩30%
王亚宁制
昆明学院信息技术学院
《数据结构》课程设计任务书18
设计题目
学生成绩管理系统
已知技术参数和设计要求
现有学生成绩信息文件1(1.txt),内容如下:
姓名学号语文数学英语
张三01677882
李四02789188
张晓03688256
王一04564577
陈明05673847
……
学生成绩信息文件2(2.txt),内容如下:
姓名学号语文数学英语
陈小二31576882
李小四32889068
张大春33484256
李小昆34504587
陈明辉35475877
……
试编写一管理系统,要求如下:
⑴实现对两个文件数据进行合并,生成新文件3.txt。
⑵抽取三科成绩中有补考的学生并保存在一个新文件4.txt。
⑶对合并后的文件3.txt中的数据按总分降序排序(至少采用两种排序方法实现)。
⑷输入一个学生姓名后,能查找到此学生的信息并输出结果(至少采用两种查找方法实现)。
⑸要求使用结构体,链或数组等实现上述要求。
采用多种方法且算法正确者,可适当加分。
设计内容与步骤
⑴结点结构的设计
⑵算法设计与分析
⑶程序设计、实现、调试
⑷课程设计说明书
设计工作
⑴设计工作6学时
⑵实现与调试18学时
⑶课程设计说明书6学时
设计考核要求
⑴考勤20%
⑵课程设计说明书50%
⑶答辩30%
王亚宁制
昆明学院信息技术学院
《数据结构》课程设计任务书19
设计题目
数制转换问题
已知技术参数和设计要求
任意给定一个M进制的数x,请实现如下要求:
⑴求出此数x的10进制值(用MD表示)
⑵实现对x向任意的一个非M进制的数的转换。
至少用两种或两种以上的方法实现上述要求(用栈解决,用数组解决,其它方法解决)。
设计内容与步骤
⑴结点结构的设计
⑵算法设计与分析
⑶程序设计、实现、调试
⑷课程设计说明书
设计工作
⑴设计工作6学时
⑵实现与调试18学时
⑶课程设计说明书6学时
设计考核要求
⑴考勤20%
⑵课程设计说明书50%
⑶答辩30%
王亚宁制
昆明学院信息技术学院
《数据结构》课程设计任务书20
设计题目
猴子吃桃子问题
已知技术参数和设计要求
有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一个,到了第10天就只余下一个桃子。
用多种方法实现求出原来这群猴子共摘了多少个桃子。
要求:
⑴采用数组数据结构实现上述求解
⑵采用链数据结构实现上述求解
⑶采用递归实现上述求解
如果采用4种方法者,适当加分
设计内容与步骤
⑴结点结构的设计
⑵算法设计与分析
⑶程序设计、实现、调试
⑷课程设计说明书
设计工作
⑴设计工作6学时
⑵实现与调试18学时
⑶课程设计说明书6学时
设计考核要求
⑴考勤20%
⑵课程设计说明书50%
⑶答辩30%
王亚宁制