数据结构课程设计题目

发布 2022-10-06 03:36:28 阅读 4854

题目一考试报名系统(必做)

项目简介:考试报名工作给各高校报名工作带来了新的挑战,给教务管理部门增加了很大的工作量。本项目是对考试报名管理的简单模拟,用控制台选项的选择方式完成下列功能:

输入考生信息;输出考生信息;查询考生信息;添加考生信息;修改考生信息;删除考生信息。

项目功能要求:

本项目的实质是完成对考生信息的建立,查找,插入,修改,删除等功能。其中考生信息包括准考证号,姓名,性别,年龄和报考类别等信息。项目在设计时应首先确定系统的数据结构,定义类的成员变量和成员函数;然后实现各成员函数以完成对数据操作的相应功能;最后完成主函数以验证各个成员函数的功能并得到运行结果。

(建议采用链表实现)

系统示例。题目二约瑟夫生者死者游戏。

项目简介。约瑟夫生者死者游戏的大意是:30个旅客同乘一条船,因为严重超载,加上风高浪大危险万分;因此船长告诉乘客,只有将全船一半的旅客投入海中,其余人才能幸免于难。

无奈,大家只得统一这种方法,并议定30个人围成一圈,由第一个人开始,依次报数,数到第9人,便将他投入大海中,然后从他的下一个人数起,数到第9人,再将他投入大海,如此循环,直到剩下15个乘客为止。问哪些位置是将被扔下大海的位置。

项目功能要求:(要求采用单循环链表)

本游戏的数学建模如下:假如n个旅客排成一个环形,依次顺序编号1, 2,…,n。从某个指定的第s号开始。

沿环计数,每数到第m个人就让器出列,且从下一个人开始重新计数,继续进行下去。这个过程一直进行到剩下k个旅客为止。本游戏要求用户输入的内容包括:

1、旅客的个数,也就是n的值;

2、离开旅客的间隔书,也就是m的值;

3、所有旅客的序号作为一组数据要求存放在某种数据结构中。本游戏要求输出的内容是包括:1.离开旅客的序号;2.剩余旅客的序号。

系统示例。题目三勇闯迷宫游戏。

项目简介:迷宫只有两个门,一个门叫入口,另一个门叫出口。一个骑士骑马从入口进入迷宫,迷宫设置很多障碍,骑士需要在迷宫中寻找通路以到达出口。

项目功能要求:

迷宫问题的求解过程可以采用回溯法即在一定的约束条件下试探地搜索前进,若前进中受阻,则及时回头纠正错误另择通路继续搜索的方法。从入口出发,按某一方向向前探索,若能走通,即某处可达,则到达新点,否则探索下一个方向;若所有的方向均没有通路,则沿原路返回前一点,换下一个方向再继续试探,直到所有可能的道路都探索到,或找到一条通路,或无路可走又返回入口点。在求解过程中,为了保证在达到某一个点后不能向前继续行走时,能正确返回前一个以便从下一个方向向前试探,则需要在试探过程中保存所能够达到的每个点的下标以及该点前进的方向,当找到出口时试探过程就结束了。

项目示例。题目四n皇后问题。

项目简介:八皇后问题是一个古老而著名的问题,是回溯算法的经典问题。该问题是十九世纪著名的数学家高斯在2024年提出的:

在8*8的国际象棋棋盘上,安放8个皇后,要求没有一个皇后能够“吃掉”任何其它一个皇后,即任意两个皇后不能处于同一行,同一列或者同一条对角线上,求解有多少种摆法。

高斯认为有76种方案。2024年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法得到结论,有92中摆法。

本实验拓展了n皇后问题,即皇后个数由用户输入。

项目功能要求:

八皇后在棋盘上分布的各种可能的格局数目非常大,约等于2的32次方种,但是,可以将一些明显不满足问题要求的格局排除掉。由于任意两个皇后不能同行,即每行只能放置一个皇后,因此将第i个皇后放在第i航上,这样在放置第i个皇后时,只要考虑它与前i-1

个皇后处于不同列和不同对角线位置上即可。

解决这个问题采用回溯法,首先将第一个皇后放置在第一行第一列,然后,依次在下一行上放置一个皇后,直到八个皇后全部放置安全。在放置每个皇后时,都依次兑每一列进行检测,首先检测放在第一列是否与已放置的皇后冲突,如不冲突,则将皇后放置在该列,否则,选择改行的下一列进行检测。如整行的八列都冲突,则回到上一行,重新选择位置,依次类推。

项目示例。题目五关键字检索系统。

项目简介:建立一个文本文件,文件名由用户用键盘输入,输入一个不含空格的关键字,统计输出关键字在文本中的出现次数。

项目功能要求。

本项目的设计要求可以分成两个部分实现:首先建立一个文本文件,文件名由用户用键盘输入;然后输入一个不含空格的关键字,统计输出该单词在文本中的出现次数。

项目示例。题目六家谱管理系统。

项目简介:家谱是一种以表谱形式,记载一个以血缘关系为主体的家族世袭繁衍和重要任务事迹的特殊图书体裁。家谱是中国特有的文化遗产,是中华民族的三大文献(国史,地志,族谱)之一,属于珍贵的人文资料,对于历史学,民俗学,人口学,社会学和经济学的深入研究,均有其不可替代的独特功能。

本项目兑对家谱管理进行简单的模拟,以实现查看祖先和子孙个人信息,插入家族成员,删除家族成员的功能。

项目功能要求:

本项目的实质是完成兑家谱成员信息的建立,查找,插入,修改,删除等功能,可以首先定义家族成员数据结构,然后将每个功能作为一个成员函数来完成对数据的操作,最后完成主函数以验证各个函数功能并得到运行结果。

项目示例:题目七表达式计算。

项目简介:表达式求值是程序设计语言编译中的一个最基本问题,就是将一个表达式转化为逆波兰表达式并求值。具体要求是以字符序列的形式从终端输入语法正确的,不含变量的整数表达式,并利用给定的优先关系实现对算术四则混合表达式的求值,并延时在求值过程中运算符栈,操作数栈,输入字符和主要操作变化过程。

要把一个表达式翻译成正确求值的一个机器指令序列,或者直接对表达式求值,首先要能正确解释表达式。任何一个表达式都是由操作符,运算符和界限符组成,我们称它们为单词。一般来说,操作数既可以是常数,又可以是被说明为变量或常量的标识符;运算符可以分成算术运算符,关系运算符和逻辑运算符3类;基本界限符有左右括号和表达式结束符等。

为了叙述的简洁,我们仅仅讨论简单算术表达式的求值问题。这种表达式只包括加,减,乘,除4种运算符。

人民在书写表达式时通常采用的是“中缀”表达形式,也就是将运算符放在两个操作数。

中间,用这种“中缀”形式表示的表达式称为中缀表达式。但是,这种表达式表示形式对计算机处理来说是不大合适的。对于表达式的表示还有另一种形式,称之为“后缀表达式“,也就是将运算符紧跟在两个操作书的后面。

这种表达式比较合适计算机的处理方式,因此要用计算机来处理,计算表达式的问题,首先要将中缀表达式转化成后缀表达式,又称为逆波兰表达式。

项目功能要求:

为了实现表达式求值,本项目要求首先读入表达式(包括括号)并创建对应二叉树,其次对二叉树进行前序遍历,中序遍历,后续遍历,输出对应的逆波兰式,中序表达式和波兰表达式。

项目示例。题目八电网建设造价模拟系统(必做)

项目简介假设一个城市有n个小区,要实现n个小区之间的电网都能够相互接通,构造这个城市n个小区之间的电网,使总工程造价最低。请设计一个能够满足要求的造价方案。

项目功能要求:

在每个小区之间都可以设置一条电网线路,都要付出相应的经济代价。n个小区之间最多可以有n(n-1)/2条线路,选择其中的n-1条使总的耗费最少。

项目示例。题目九二叉排序数。

项目简介:依次输入关键字并建立二叉排序树,实现二叉排序数的插入和查找功能。

项目功能简介:

二叉排序树就是指将原来已有的数据根据大小构成一棵二叉树,二叉树中的所有结点数据满足一定的大小关系,所有的左子树中的结点均比根结点小,所有的右子树的结点均比根结点大。

二叉排序树查找是指按照二叉排序树中结点的关系进行查找,查找关键自首先同根结点进行比较,如果相等则查找成功;如果比根节点小,则在左子树中查找;如果比根结点大,则在右子树中进行查找。这种查找方法可以快速缩小查找范围,大大减少查找关键的比较次数,从而提高查找的效率。

项目示例。项目十8中排序算法的比较案例(必做)

项目简介:随机函数产生10000个随机数,用快速排序,直接插入排序,冒泡排序,选择排序的排序方法排序,并统计每种排序所花费的排序时间和交换次数。其中,随机数的个数由用户定义,系统产生随机数,并且显示他们的比较次数,排序算法包括冒泡排序,选择排序,直接插入排序,希尔排序,快速排序,堆排序,归并排序和基排序。

项目示例。考核方法:

每位同学选择其中的6个项目作为课程设计。所有项目最终提交时间是:1月9日18:

00作业提交内容包括:程序的可执行文件,项目源码,以及项目说明文档。材料统一上交到学院的服务器上,命名规则是:

项目序号_学生学号_学生姓名。exe

项目序号_学生学号_学生姓名。cpp(或者项目序号_学生学号_学生姓名。j**a)项目序号_学生学号_学生姓名。doc

成绩评定方法:

平时成绩签到20%。项目可执行文件:30%项目源码:20%项目说明文档:30%

数据结构课程设计题目

题目1实现两个链表的合并。要求 编一程序将a表和b表归并成一个新的递增有序的单链表c 值相同的元素均保留在c表中 并要求利用原表的空间存放c。测试数据 1 a表 30,41,15,12,56,80 b表 23,56,78,23,12,33,79,90,55 2 a表 30,41,15,12,56,8...

数据结构课程设计题目

题目1 图的遍历。功能 实现图的深度优先,广度优先遍历算法,并输出原图结构及遍历结果。分步实施 1 初步完成总体设计,搭好框架 2 完成最低要求 两种必须都要实现,写出画图的思路 3 进一步要求 画出图的结构,有兴趣的同学可以进一步改进图的效果。要求 1 界面友好,函数功能要划分好。2 总体设计应画...

数据结构课程设计题目

数据结构课程设计 题目与要求。一 实验学时 两周。二 要求 1 题目从以下题目中选择,完成程序设计及设计文档。2 程序的要求 实现的功能要求尽量完善。完善基本功能的基础上,再扩充其它功能。3 课程设计说明书的格式要求 a4纸打印,格式设置统。一 规范 美观。三 题目。1.运动会分数统计 限1 人完成...