09信息《数据结构》课程设计题目

发布 2022-10-06 03:44:28 阅读 9489

(1)、分别采用“顺存、链式”存储结构,以同学通讯录为例完成线性表的建立、查找、插入、删除、修改等操作。

2、分别采用“顺存、链式”存储结构,以成绩表为例完成线性表的建立、查找、插入、删除、修改等操作。

3、采用合适的存储结构,完成“绕圈报数”和“来回报数”。

a) 绕圈报数:是顺序编号的一组n个人围坐一圈,从第1个人按一定方向顺序报数,在报到m时该人出列,然后按相同方法继续报数,直到所有人出列。设计算法求约瑟夫环中人员的出列顺序。

b) 来回报数:采用双向链表,实现报数游戏:即n个人报数,先向n端报数,报到m出列。当报数到达表尾时,再向表尾向1端报数。如此反复,求出列顺序。

4、约瑟夫环问题。

约瑟夫环问题是算法设计中的一个经典问题,是顺序编号的一组n个人围坐一圈,从第1个人按一定方向顺序报数,在报到m时该人出列,然后按相同方法继续报数,直到所有人出列。设计算法求约瑟夫环中人员的出列顺序。

1)利用顺序存储结构求解约瑟夫环问题;

2)利用链式存储结构求解约瑟夫环问题;

3)利用队列求解约瑟夫环问题。

5、分别采用“顺存、链式”存储结构完成线性表的“并、交、差”集合运算。

6)、分别采用“顺存、链式”存储结构完成大数的阶乘运算。

7、分别采用“顺存、链式“存储结构完成大数的加法和乘法运算。

8、分别采用“顺序表、链表、链和队列”完成逆置操作。

9、多项式的加法和乘法运算。

10、分别采用“顺序表、双向链表、栈和队列”实现回文判断。

11、猴子吃桃子问题。

a) 采用递归实现上述问题求解;

b) 采用顺序存储结构实现上述问题求解;

c) 采用链式存储结构实现上述问题求解;

d) 采用堆栈或队列实现上述问题求解。

12)、分别采用“顺栈、链栈”完成表达式求值。

13)、括号匹配。

14、分别采用顺存和链式存储结构完成任意进制间数据的转换。

15、栈和队列模拟车库和便道的管理。

16、车厢调度问题:假设停在铁路调度站(如教科书中图3.1(b)所示)入口处的车厢系列的编号依次为1,2,3,…n。设计一个程序,求出所有可能由此输出的长度为n 的车厢系列。

要求:a) 设计一个程序,求出由一个编号依次为1,2,、、n的车厢序列可能产生的所有出栈系列。

b) 利用双向栈存储结构实现调度站和输出序列这两个栈的空间共享。

c) 对于每个输出序列演示出所有操作序列的变化过程 。

17、串的操作:程序要求选择合适的存储结构,并实现以下功能:

a) 完成串的基本操作,如:串的赋值,比较,连接,插入,删除;

b) 实现串的模式匹配,包括:穷举法,bf算法和kmp算法;

c) 字符串的应用:字符串的加密与解密;文本文件单词的计数;文本文件单词的检索;

18、稀疏矩操作:

a) 稀疏矩阵采用三元组表示,建立稀疏矩阵,并能按矩阵和三元组方式输出;

b) 编写算法,完成稀疏矩阵的转置操作;

c) 编写算法,完成对两个具有相同行列数的稀疏矩阵进行求和操作;

d) 编写算法,对前一矩阵行数与后一矩阵列数相等的两个矩阵,完成两个稀疏矩阵的相乘操作。

19、二叉树基本操作。

a) 选择合适的存储结构存储建立二叉树;

b) 设计算法完成二叉树的递归遍历,并利用栈完成二叉树的非递归遍历;

c) 运用队列设计算法,完成二叉树的层次遍历;

d) 设计算法根据二叉树的先序和中序序列,求出后序序列。

20、求节点在二叉树中的层次数。

a) 选择合适的存储结构,完成二叉树的建立。最好采用顺序和链式两种方法。

b) 在顺序二叉树中求解节点所在层次数。

c) 在链式二叉树中求解节点所在层次数。

21、二叉树的应用:以同学录为例,利用二叉树存储结构,实现建立、查找、新增、删除等功能。

22、哈夫曼编码和译码。

23)、基于邻接矩阵对图的遍历。

对任意给定的图,建立它的邻接矩阵,并实现图的深度优先搜索遍历和广度优先搜索遍历,并输出遍历的结果。

a) 建立图的邻接矩阵,并输出邻接矩阵;

b)对图实现深度优先搜索遍历,并输出遍历序列;

c)对图实现广度优先搜索遍历,并输出遍历序列。

24、基于邻接表对图的遍历。

对任意给定的图,建立它的邻接表,并实现图的深度优先搜索遍历和广度优先搜索遍历,并输出遍历的结果。

a)建立图的邻接表,并输出邻接表;

b)对图实现深度优先搜索遍历,并输出遍历序列;

c)对图实现广度优先搜索遍历,并输出遍历序列。

25、最小生成树。

最小生成树是一个有n个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有n个结点,并且有保持图联通的最少的边。最小生成树在实际问题中具有一定的应用价值,如在城市之间建设网络,要保证网络的连通性,求最经济的桇设计方法。求解最小生成树时可以采用普里姆算法和克鲁斯卡尔算法。

a)选择合适的存储结构,完成网的建立;

b)利用普里姆算法求网的最小生成树,并输出结果;

c)利用克鲁斯卡尔算法求网的最小生成树,并输出结果。

26、图的应用:编写一个简易的景点导游咨询系统,完成对景点以及景点间边的增加、删除和修改。以及最短路径的一些应用。

27、拓扑排序。

在aov网中为了更好地完成工程,必须满足活动之间先后关系,需要将各活动排一个先后次序即为拓扑排序。拓扑排序可以应用于教学计划的安排,根据课程之间的依赖关系,制定课程安排计划,并满足各学期课程数日大致相同。按照用户输入的课程数,学期数,课程间的先后关系数目以及课程间两两间的先后关系,程序执行后会给出每学期应学的课程。

a) 选择合适的存储结构,建立有向无环图,并输出该图;

b) 实现拓扑排序算法;

c) 运用拓扑排序实现对教学计划安排的检验。

28、折半查找及其改进算法。

查找是在一个数据元素集合中查找关键字等于某个给个数据元素关键字的过程,也称为检索。给出一个特定的元素x,在含有n个元素的数列中判断是否存在这个元素,如果存在,返回此元素在数列中的位置,否则返回零。数列查找在实际中的应用十分广泛,因此数列查找算法的好坏直接影响到程序的优劣。

a)写出基于递归和非逆归的折半查找算法;

b)对折半查找算法的一种改进;

c)写出三分查找算法。

29、运用二叉排序树实现通讯录管理。

a) 选择合适的存储结构建立二叉排序树,并在二叉排序中进行查找;

b)在二叉排序树中实现删除操作;

c)在二叉排序树中实现插入操作。

30、快速排序及其改进算法。

a) 选择合适的存储结构建立排序表,并能遍历表输出元素。

b) 编写快速排序算法,并能够输出排序的结果。

c) 快速排序及其改进—双倍快速排序和基于归并的快速排序算法。

31、内部排序及其改进算法。

1)选择排序及其改进算法。

2)冒泡排序及其改进算法。

3)快速排序及其改进算法。

32、哈希表的实现。

数据结构课程设计题目

题目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 人完成...