数据结构课程设计可选题目
一、课程设计的目的 安卓课程设计题目
学习数据结构与算法的最终目的是解决实际的应用问题,特别是非数值计算类型的应用问题。课程设计要求同学独立完成一个较为完整的应用需求分析,在完成设计和编程大型作业的过程中,深化对数据结构与算法课程中基本概念、理论和方法的理解;训练综合运用所学知识处理实际问题的能力,强化面向对象的程序设计理念;使同学的程序设计与调试水平有一个明显的提高。
二、数据结构课程设计可选题目
1. 运动会分数统计(限1 人完成)
  任务:参加运动会有n个学校,学校编号为1……n。比赛分成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) 数据存入文件并能随时查询6) 规定:①输入数据形式和范围:可以输入学校的名称,运动项目的名称;②输出形式:有中文提示,各学校分数为整形;③界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上)请在最后的上交资料中指明你用到的存储结构;⑤测试数据:要求使用a.全部合法数据;b.整体非法数据;c.局部非法数据进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明。
2. 飞机订票系统
  任务:通过此系统可以实现如下功能:⑴录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)⑵查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);⑶可以输
入起飞抵达城市,查询飞机航班情况;⑷订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;⑸退票: 可退票,退票后修改相关数据文件;⑹客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。修改航班信息:当航班信息改变可以修改航班数据文件 
要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能
3. 文章编辑(限1 人完成)
  功能:输入一页文字,程序可以统计出文字、数字、空格的个数。
  静态存储一页文章,每行最多不超过80个字符,共N行;要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。
  存储结构使用线性表,分别用几个子函数实现相应的功能;
  输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。
  输出形式:(1)分行输出用户输入的各行字符;(2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"(3)输出删除某一字符串后的文章;
4. 纸牌游戏(限1 人完成)
  任务:编号为1-52张牌,正面向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,直到最后一张牌;然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;然后…从第4张开始,以4为基数,是4的倍数的牌翻一次, 直到最后一张牌;...再依次5的倍数的牌翻一次,6的,7的 直到 以52为基数的 翻过,输出:这时正面向上的牌有哪些?
5. 宿舍管理查询软件(限1 人完成)
1) 任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求:
A. 采用交互工作方式
B. 建立数据文件 ,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种)
2) 查询菜单: (用二分查实现以下操作)
A. 按姓名查询
B. 按学号查询
C. 按房号查询
3) 打印任一查询结果(可以连续操作)
6. 校园导航问题(限1 人完成)
任务:设计你的学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短路径。
7. 学校超市选址问题(带权有向图的中心点)(限1 人完成)
设计要求:对于某一学校超市,其他各单位到其的距离不同,同时各单位人员去超市的频度也不同。请为超市选址,要求实现总体最优。
8. 教学计划编制问题(限1 人完成)
设计要求:针对计算机系本科课程,根据课程之间的依赖关系(如离散数学应在数据结构之前开设)制定课程安排计划,并满足各学期课程数目大致相同。
9. 图书借阅管理系统
  主要分为两大功能:
1) 图书管理(增加图书、查询图书、删除图书、图书借阅、还书);
①每种书的登记内容包括书号、书名、著作者、现存量和库存量;
②对书号建立索引表(线性表)以提高查效率;
③系统主要功能如下:*采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加;*借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量;*归还:注销对借阅者的登记,改变该书的现存量。
2) 会员管理(增加会员、查询会员、删除会员、借书信息);
10. 学生成绩管理
  学生成绩管理系统(限1 人完成)
现有学生成绩信息文件1(1.txt),内容如下
姓名    学号  语文  数学  英语   
张明明  01    67    78      82
李成友  02    78    91      88
张辉灿  03    68    82      56
王露    04    56    45      77
陈东明  05    67    38      47
….      ..      ..    ..      …
学生成绩信息文件2(2.txt),内容如下:
姓名    学号  语文  数学  英语   
陈果    31    57    68      82
李华明  32    88    90      68
张明东  33    48    42      56
李明国  34    50    45      87
陈道亮  35    47    58      77
….      ..      ..    ..      …
试编写一管理系统,要求如下:
1) 实现对两个文件数据进行合并,生成新文件3.txt2) 抽取出三科成绩中有补考的学生并保存在一个新文件4.txt3) 对合并后的文件3.txt中的数据按总分降序排序(至少采用两种排序方法实现)4) 输入一个学生姓名后,能查到此学生的信息并输出结果(至少采用两种查方法实现)5) 要求使用结构体,链或数组等实现上述要求.6) 采用多种方法且算法正确者,可适当加分
11. 活期储蓄帐目管理(限1 人完成)
  活期储蓄处理中,储户开户、销户、存入、支出活动频繁,系统设计要求:
1) 能比较迅速地到储户的帐户,以实现存款、取款记账;
2) 能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。
12. 通讯录的制作
设计目的:编写一个通讯录管理系统。
设计任务:本系统应完成几方面的功能: 1) 输入信息——enter();2) 显示信息———display( );3) 查以姓名作为关键字 ———search( );4) 删除信息———delete( );5) 存盘———save ( );6) 装入———load( ) ;
设计要求:1) 每条信息至包含 :姓名(NAME )街道(STREET)城市(CITY)邮编(EIP)国家(STATE)几项2) 作为一个完整的系统,应具有友好的界面和较强的容错能力3) 上机能正常运行。
13.职工管理系统
任务:对单位的职工进行管理,包括插入、删除、查、排序等功能。要求
  职工对象包括姓名、性别、出生年月、工作年月、学历、职务、住址、电话等信息。
(1)新增一名职工:将新增职工对象按姓名以字典方式职工管理文件中。
(2)删除一名职工:从职工管理文件中删除一名职工对象。
(3)查询:从职工管理文件中查询符合某些条件的职工。
(4)修改:检索某个职工对象,对其某些属性进行修改。
(5)排序:按某种需要对职工对象文件进行排序。
实现提示职工对象数不必很多,便于一次读入内存,所有操作不经过内外存交换,(1)由键盘输入职工对象,以文件方式保存。程序执行时先将文件读入内存;(2)对职工对象中的"姓名"按字典顺序进行排序;(3)对排序后的职工对象进行增、删、查询、修改、排序等操作。
14. 哈夫曼编码/译码器(限1 人完成)
任务:设计一个利用哈夫曼算法的编码和译码系统,重复地显示并处理以下项目,直到选择退出为止。1) 将权值数据存放在数据文件(文件名为,位于执行程序的当前目录中) ;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
进一步完成:1) 译码功能;2) 显示哈夫曼树;3) 界面设计的优化。
15. 散列表的设计与实现(限1 人完成)
【问题描述】
设计散列表实现电话号码查系统。
【基本要求】
1) 设每个记录有下列数据项:电话号码、用户名、地址;2) 从键盘输入各记录,分别以电话号码和用户名为关键字建立散列表;3) 采用一定的方法解决冲突;4) 查并显示给定电话号码的记录;5) 查并显示给定用户名的记录。
【进一步完成内容】
1) 系统功能的完善;2) 设计不同的散列函数,比较冲突率;3) 在散列函数确定的前提下,尝试各种不同类型处理冲突的方法,考察平均查长度的变化。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。