数据结构课程设计题目

1.         飞机订票系统(限1 人完成)

  任务:通过此系统可以实现如下功能:

  录入:

  可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)

  查询:

  可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);

  可以输入起飞抵达城市,查询飞机航班情况;

  订票:(订票情况可以存在一个数据文件中,结构自己设定)

  可以订票,如果该航班已经无票,可以提供相关可选择航班;

  退票: 可退票,退票后修改相关数据文件;

  客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。

  修改航班信息:

  当航班信息改变可以修改航班数据文件

  要求:

  根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;

2.         宿舍管理查询软件(限1 人完成)

1)      任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求:

A.      采用交互工作方式

B.      建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种)

2)      查询菜单: (用二分查找实现以下操作)

A.      按姓名查询

B.      按学号查询

C.      按房号查询

3.         校园导航问题(限1 人完成)

设计要求:设计你的学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)。

4.         图书借阅管理系统(限1 人完成)

主要分为两大功能:

1)      图书管理(增加图书、查询图书、删除图书、图书借阅、还书);

2)      会员管理(增加会员、查询会员、删除会员、借书信息);

5.         学生成绩管理(限1 人完成)

实现功能:输入、输出、插入、删除、查找、追加、读入、显示、保存、拷贝、排序、索引、分类合计、退出。

6.         活期储蓄帐目管理(限1 人完成)

活期储蓄处理中,储户开户、销户、存入、支出活动频繁,系统设计要求:

1)      能比较迅速地找到储户的帐户,以实现存款、取款记账;

2)      能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。

7.      通讯录的制作(限1 人完成)

设计目的:用〈〈数据结构〉〉中的双向链表作数据结构,编写一个通讯录管理系统。以把所学数据结构知识应用到实际软件开发中去。

设计内容:本系统应完成一下几方面的功能:

1)      输入信息——enter();

2)      显示信息———display( );

3)      查找以姓名作为关键字 ———search( );

4)      删除信息———delete( );

5)      存盘———save ( );

6)      装入———load( ) ;

设计要求:

1)      每条信息至包含 :姓名(NAME )街道(STREET)城市(CITY)邮编(EIP)国家(STATE)几项

2)      作为一个完整的系统,应具有友好的界面和较强的容错能力

8.      哈夫曼编码/译码器(限2 人完成)

【问题描述】设计一个利用哈夫曼算法的编码和译码系统,重复地显示并处理以下项目,直到选择退出为止。
【基本要求】

1)      将权值数据存放在数据文件(文件名为data.txt,位于执行程序的当前目录中)

2)      初始化:键盘输入字符集大小n、n个字符和n个权值,建立哈夫曼树;

3)      编码:利用建好的哈夫曼树生成哈夫曼编码;

4)      输出编码;

5)      设字符集及频度如下表:

字符空格 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

9.      图书管理系统(限2 人完成)

【问题描述】
设计一个计算机管理系统完成图书管理基本业务。
【基本要求】

1)      每种书的登记内容包括书号、书名、著作者、现存量和库存量;

2)      对书号建立索引表(线性表)以提高查找效率;

3)      系统主要功能如下:

*采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加;

*借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量;

*归还:注销对借阅者的登记,改变该书的现存量。

10.  电话号码查找系统(限1 人完成)

【问题描述】

利用散列表的设计与实现电话号码查找系统。

【基本要求】

1)      设每个记录有下列数据项:电话号码、用户名、地址;

2)      从键盘输入各记录,分别以电话号码和用户名为关键字建立散列表;

3)      采用一定的方法解决冲突;

4)      查找并显示给定电话号码的记录;

查找并显示给定用户名的记录。

11.  一元多项式的实现。(限1 人完成)

设有一元多项式Am(x)和Bn(x).

Am(x)=A0+A1x1+A2x2+A3x3+… +Amxm

Bn(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)      要求输出结果的升幂和降幂两种排列情况

12.  表达式的值1(限1 人完成)

要求:从文件读取表达式,判断表达式是否合理,将表达式转换成后缀形式,按后缀表达式求值;题目涉及加减乘除,带括弧的混合运算;随时可以退出;

13.  表达式的值2(限1 人完成)

要求:从键盘输入表达式,利用算符优先原则求中缀表达式,并将表达式及其结果存入指定文件,可重复计算。

14.  学生成绩管理系统(限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.txt

2)      抽取出三科成绩中有补考的学生并保存在一个新文件4.txt

3)      对合并后的文件3.txt中的数据按总分降序排序(至少采用两种排序方法实现)

4)      输入一个学生姓名后,能查找到此学生的信息并输出结果(至少采用两种查找方法实现)

5)      要求使用结构体,链或数组等实现上述要求.

15. 图的遍历和生成树求解实现(限1 人完成)

要求:

1)      先任意创建一个图;

2)      图的DFS,BFS的递归和非递归算法的实现

3)      最小生成树(两个算法)的实现,求连通分量的实现

4)      要求用邻接矩阵、邻接表结构存储实现

16.  排序综合(限1 人完成)

利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序。

要求:

1)      至少采用五种方法实现上述问题求解(提示,可采用的方法有插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序)。并把排序后的结果保存在不同的文件中。

2)      统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中两种较快的方法。

17.  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 ,输入每个人的密码,建立单循环链表。

输出形式:建立一个输出函数,将正确的输出序列

18.  HUFFMAN树及编码(限1 人完成)

随机输入一篇英文文章(或读一个TXT文件),生成并显示HUFFMAN树,输出每个字母的HUFFMAN编码,判断ASCII编码与HUFFMAN编码对本篇报文长度节省效果。

19.  拓扑排序(限1 人完成)

[问题描述] 建立图的存储结构,能够输入图的顶点和边的信息,并存储到相应存储结构中,再编写函数实现图的拓扑排序。

[基本要求] 选择邻接表作为有向图的存储结构模拟整个过程,并输出拓扑排序的顶点序列。

[测试数据] 利用下图中的数据调试程序

20.  简单的职工管理系统(限2 人完成)

1.问题描述

  对单位的职工进行管理,包括插入、删除、查找、排序等功能。

2.要求

  职工对象包括姓名、性别、出生年月、工作年月、学历、职务、住址、电话等信息。

(1)新增一名职工:将新增职工对象按姓名以字典方式职工管理文件中。

(2)删除一名职工:从职工管理文件中删除一名职工对象。

(3)查询:从职工管理文件中查询符合某些条件的职工。

(4)修改:检索某个职工对象,对其某些属性进行修改。

(5)排序:按某种需要对职工对象文件进行排序。

3.实现提示

  职工对象数不必很多,便于一次读入内存,所有操作不经过内外存交换。

(1)由键盘输入职工对象,以文件方式保存。程序执行时先将文件读入内存。

(2)对职工对象中的"姓名"按字典顺序进行排序。

(3)对排序后的职工对象进行增、删、查询、修改等操作。

21.  哈希表设计(限1 人完成)

[问题描述]:针对自己的班集体中的“人名”设计一个哈希表,使得平均查找长度不超过R,完成相应的建表和查表程序。

[基本要求]:假设人名为中国姓名的汉语拼音形式。待填入哈希表的人名共有30个,取平均查找长度的上限为2。哈希函数用除留余数法构照,用链表法处理冲突。

[测试数据]:读取熟悉的30个人的姓名。

22.  学生信息管理 (限1 人完成)

要求每条学生信息至包含学号(xh)、姓名(xm)、性别(xb)、年龄(nl)、专业(zy)等,完成如下功能:

(1)输入学生基本信息记录——enter()

(2)增加一名学生记录(可和功能1合并)——insert()

(3)删除指定(按姓名)学生的信息——delete()

(4)修改指定(按姓名)学生的信息)——modify( )

(5)查询符合条件的学生(按专业)——search()

(6)显示学生管理库中的信息——display( )

23.  计算一元稀疏多项式(限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)

24.  通讯录的制作 (限1 人完成)

要求每条信息至包含姓名(name )城市(city)电话(tel)QQ号(qq),完成如下功能:

(1) 输入信息—— enter();

(2) 显示信息——display( );

(3) 查找以姓名作为关键字 ——search( );

(4) 删除信息——delete( );

(5) 存盘(将数据保存在文件中,此功能选做)——save ( );

25.     运动会分数统计(3人完成)

  任务:参加运动会有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语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;

测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;

26.  最小生成树问题(限1 人完成)

设计要求:在n个城市之间建设网络,只需保证连通即可,求最经济的架设方法。存储结构采用多种。求解算法多种。

27.  敢死队问题(限1 人完成)

有M个敢死队员要炸掉敌人的一碉堡,谁都不想去,排长决定用轮回数数的办法来决定哪个战士去执行任务。如果前一个战士没完成任务,则要再派一个战士上去。现给每个战士编一个号,大家围坐成一圈,随便从某一个战士开始计数,当数到5时,对应的战士就去执行任务,且此战士不再参加下一轮计数。如果此战士没完成任务,再从下一个战士开始数数,被数到第5时,此战士接着去执行任务。以此类推,直到任务完成为止。

排长是不愿意去的,假设排长为1号,请你设计一程序,求出从第几号战士开始计数才能让排长最后一个留下来而不去执行任务。

要求:至少采用两种不同的数据结构的方法实现。

28.  全国交通咨询模拟(5 人完成)

【问题描述】处于对不同目的的旅客对交通工具有不同的要求。例如,因公出差的旅客希望在旅途中的时间尽可能短,出门旅游的游客则希望旅费尽可能省,而老年旅客则要求中转次数最少。编制一个全国城市间的交通咨询程序,为旅客提供两种或三种最优决策的交通咨询。

【基本要求】(1)提供对城市信息进行编辑(如:添加或删除)的功能。

(2)城市之间有两种交通工具:火车和飞机。提供对列车时刻表和飞机航班进行编辑(增设或删除)的功能。

(3)提供两种最优决策:最快到达或最省钱到达。全程只考虑一种交通工具。

(4)旅途中耗费的总时间应该包括中转站的等候时间。

(5)咨询以用户和计算机的对话方式进行。由用户输入起始站、终点站、最优决策原则和交通工具,输出信息:最快需要多长时间才能到达或者最少需要多少旅费才能到达,并详细说明依次于何时乘坐哪一趟列车或哪一次班机到何地。
29.  关键路径(限1 人完成)

设计要求:对于任何大型工程项目(由若干小工程组成),求其关键路径。

大学数据结构课程设计题目相关推荐

  1. “数据结构”课程设计题目

    "数据结构"课程设计题目 1.城市链表 [问题描述] 将若干城市的信息,存入一个带头结点的单链表.结点中的城市信息包括:城市名,城市的位置坐标.要求能够利用城市名和位置坐标进行有关 ...

  2. 数据结构课程设计 题目1 活期储蓄程序

    题目: 题目1.小明是一个计算机专业top student,祝贺他毕业了.并准备到银行参加工作.上班第一天,经理叫他编制一个实现一个活期储蓄处理程序,算作考查.上班第一天,一定要给领导一个好印象,小明 ...

  3. 数据结构课程设计题目十二_计算机学院学生会的打印机(优先队列)

    本文出自:http://blog.csdn.net/svitter 题目12:计算机学院学生会的打印机(优先队列) 小明抱怨学生会的打印机不符合FIFO的原则,看到很多在他后面来打印的同学比他先打印出 ...

  4. 数据结构课程设计 题目 1 (活期储蓄管理系统)

     题目 1   .小明是一个计算机专业top student,祝贺他毕业了.并准备到银行参加工作.上班第一天,经理叫他编制一个实现一个活期储蓄处理程序,算作考查.上班第一天, 一定要给领导一个好印象, ...

  5. 数据结构 课程设计报告

    <数据结构课程设计> 课程题目 电话客服模拟系统 课程编号 j1620102 学生姓名 严乾聪 学生学号 201311671424 所在专业 信息管理与信息系统 所在班级 信管1134班 ...

  6. c语言小数表达式运算课程设计,数据结构课程设计表达式计算.doc

    数据结构课程设计表达式计算 福建农林大学计算机与信息学院 计算机类 课程设计报告 课程名称:算法与数据结构课程设计题目:表达式计算姓 名:系:数学系专 业:数学与应用数学年 级:学 号:指导教师:宁正 ...

  7. c语言二叉树族谱管理系统,数据结构课程设计报告(用二叉树实现家谱管理系统).doc...

    数据结构课程设计 题目:用二叉树实现家谱管理系统 姓名:郭志超 学号:031010151554042 完成日期:2005.7.3 一.需求分析 ??建立输入文件以存放最初家谱中各成员的信息. ??成员 ...

  8. 设树采用孩子兄弟表示法存放.用类c语言设计算法计算树的高度.,(数据结构课程设计分类题目.doc...

    (数据结构课程设计分类题目 线性表 顺序表: 1.设有一元素为整数的线性表L=(a1,a2,a3,-,an),存放在一维数组A[N]中,设计一个算法,以表中an作为参考元素,将该表分为左.右两部分,其 ...

  9. 地大c语言课程设计题目,中国地质大学数据结构课设-全国铁路运输网最佳经由问题课程设计报告精选.doc...

    中国地质大学数据结构课设-全国铁路运输网最佳经由问题课程设计报告精选 数据结构 上机实习报告 实验题目:全国铁路运输网最佳经由问题 班级: 姓名: 学号: 完成日期:2017年4月25日 目录 课程设 ...

最新文章

  1. 菜鸟脱壳之脱壳的基础知识(六)——手动查找IAT和修复Dump的程序
  2. MariaDB 宣布成立基金会
  3. 希望增加的BLOG功能(序)
  4. android操作ui线程
  5. 智能推荐算法在直播场景中的应用
  6. 韩顺平 mysql sqlhelper类_(最全)韩顺平jsp购物车源代码(包含数据库)
  7. 【论文复现】使用RNN进行文本分类
  8. 大白话讲解如何给github上项目贡献代码
  9. 推荐几个火狐常用的组件(三)
  10. 如何画圆柱_木饰面、金属包立柱,该如何设计?
  11. 【月伴流星】Win7 SP1_x86/x64_2018.03多合一安装版
  12. 商户监控中一个基础的反洗钱规则不要漏了
  13. Python量化基础:时间序列的平稳性检验
  14. FFMpeg 常用命令格式转换,视频合成
  15. 西安鹏程张建宁老师主讲网络安全
  16. Android Framework 电源子系统(04)核心方法updatePowerStateLocked分析-2 循环处理  更新显示设备状态
  17. axis的xml转java的实际开发使用笔记
  18. 前端模板template-web简单使用
  19. 进入安全模式后重新启动计算机,进入Win7安全模式方法一:开机按F8键进入 我们在重启或者电脑开机的时候...
  20. WWF(Windows Workflow Foundation)的简介

热门文章

  1. 如何计算CAN通信波特率
  2. VB6 Treeview的添加节点子节点、Treeview打开、Treeview关闭
  3. Educoder Java高级特性 - JDBC(上)
  4. Linux下如何创建和取消软连接
  5. linux下usb充电问题,如何解决在Ubuntu上iPad不能充电的问题
  6. http中url特殊字符转义及解决方法
  7. 两步解决macbook电池不充电
  8. Proteus仿真最小系统板的绘制及流水灯
  9. linux系统遇到挖矿程序
  10. 施工控制网的精度确定方法?