数据结构课程设计题目表.docx





《数据结构课程设计题目表.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计题目表.docx(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构课程设计题目表 数据结构课程设计课题表 课题1:设计出链表结构的相关函数库,以便在程序设计中调用。要求: (1)包括线性表的各种基本函数以及常用函数(自己确定函数、函数形式及理由)。 (2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。 (3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。 课题2:设计出顺序表结构的相关函数库,以便在程序设计中调用。要求: (1)包括线性表的各种基本函数以及常用函数(自己确定函数、函数形式及理由)。 (2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方
2、式显示出来,将复杂的运行过程以动态方式显示出来。 (3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。 课题3:设计程序以实现任意两个高次多项式的加法和乘法运算。 要求: (1)所设计的数据结构应尽可能节省存储空间。 (2)程序的运行时间应尽可能少。 课题4:设计一个模拟计算器的程序,要求能对包含加、减、乘、除、括号运算符及SQR和ABS函数的任意整型表达式进行求解。 要求:要检查有关运算的条件,并对错误的条件产生报警。 课题5:设计出二叉链表结构的相关函数库,以便在程序设计中调用。要求: (1)包括二叉树的各种基本函数以及常用函数(自己确定函数、函数形式及理由)。 (2)最好能
3、借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。 (3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。 课题6:设计出树结构的相关函数库,以便在程序设计中调用。要求: (1)包括树结构的存储结构及各种基本函数以及常用函数(自己确定函数、函数形式及理由)。 (2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。 (3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。 课题7:选择合适的存储结构表示广义表,并能实现下列运算要求: (1)用大写字母表
4、示广义表,用小写字母表示原子,并提供设置广义表的值的功能。 (2)取广义表L的表头和表尾的函数head(L)和tail(L)。 (3)能用这两个函数的复合形式求出广义表中的指定元素。 (4)由广义表的字符串形式到广义表的转换函数Lists Str_ToLists_(S);例如Str_ToLists_(“ (a,(a,b),c)”)的值为一个广义表。 (5)由广义表到广义表的字符串形式的转换函数char * Lists_To_Str(L)。 (6)最好能设置多个广义表。 课题8:设计程序以实现构造哈夫曼树的哈夫曼算法,要求如下: (1)可以使用实验工具的有关功能。 (2)要能演示构造过程。 (3
5、)求解出所构造的哈夫曼树的带权路径长度。 课题9:采用哈夫曼编码思想实现文件的压缩和恢复功能,并提供压缩前后的占用空间之比。 要求: (1)描述压缩基本符号的选择方法。 (2)运行时的压缩原文件的规模应不小于5K。 (3)提供恢复文件与原文件的相同性对比功能。 课题10:设计出图结构的相关函数库,以便在程序设计中调用。要求: (1)包括图结构的存储结构及各种基本函数以及常用函数(自己确定函数、函数形式及理由)。 (2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。 (3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求
6、解。 课题11:设计程序完成如下功能:对给定的图结构和起点,产生其所有的深度优先搜索遍历序列,并给出求解过程的动态演示。 课题12:设计程序完成如下功能:对给定的网和起点,实现求解最小生成树的PRIM 算法,并给出求解过程的动态演示。 课题13:设计程序完成如下功能:对给定的图结构,实现求解最小生成树的Kruskal 算法,并给出求解过程的动态演示。 课题14:设计程序完成如下功能:对给定的网和起点,用PRIM算法的基本思想求解出所有的最小生成树,并给出求解过程的动态演示。 课题15:设计程序完成如下功能:对给定的图结构,用Kruskal算法的基本思想求解出所有的最小生成树,并给出求解过程的动
7、态演示。 课题16:选择合适的结构表示图,在此基础上实现拓扑排序算法。 要求:对所设计的图结构,提供必要的基本功能。 课题17:设计程序完成如下功能:对给定的AOV网,产生所有的拓扑序列,并给出求解过程的动态演示。 课题18:选择合适的结构表示图,在此基础上实现求解最短路径的Dijkstra算法。 要求:对所设计的图结构,提供必要的基本功能。 课题19(校园导航问题):计你的学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)。 课题20(马的遍历问题):设计程序完成如下要求:在中国象棋棋盘上,对任一位置上放置的
8、一个马,均能选择一个合适的路线,使得该棋子能按象棋的规则不重复地走过棋盘上的每一位置。 要求: (1)依次输出所走过的各位置的坐标。 (2)最好能画出棋盘的图形形式,并在其上动态地标注行走过程。 (3)程序能方便地地移植到其它规格的棋盘上。 课题21:在88的国际象棋棋盘上,如果在放置若干个马后,使得整个棋盘的任意空位置上所放置的棋子均能被这些马吃掉,则称这组放置为棋盘的一个满覆盖。若去掉满覆盖中的任意一个棋子都会使这组放置不再是满覆盖,则称这一满覆盖为极小满覆盖。设计程序完成如下要求: 要求: (1)求解一个极小满覆盖。 (2)最好能画出棋盘的图形形式,并在其上动态地演示试探过程。 (3)程
9、序能方便地地移植到其它规格的棋盘上。 课题22:在中国象棋棋盘上实现上一课题的任务。 要求:除了上一课题的要求外,还要考虑到“别腿”的规定。 课题23:选择合适的数据结构表示B-树,并分别实现B-树的初始化、插入、删除、数据结构的文件存取、图形显示等功能。 本题可分解为五个子课题,要求这些子课题采用相同的存储结构,并能方便地组成一个完整的程序。 课题24:在一个由mn个小正方形组成的矩形上,依次用有两个相邻的小正方形大小的矩形(此处所谓相邻是指两个正方形有一条边公用边)不重复地覆盖该矩形区域。请构造出该问题的数学模型,设计算法求解所有可能的覆盖。 课题25(简易五子棋游戏):设计程序实现一个人
10、机对弈的简单的五子棋游戏。游戏规则如下:在1919的围棋棋盘的交叉点上,对弈双方轮流放子,最先在棋盘上摆成(按水平、垂直或对角线方向)连续五个子的一方为胜方。 课题26:在表达式“123456789=100”中左边的适当位置插入运算符“”或“”,以使等式成立。例如123456789=100。 课题27:有一人要将自己的兔子、蔬菜和狐狸等三件物品运过河。但过河所用的船每次只能装其中的两件,而这三件物品之间又存在一定的制约关系:兔子不能单独和狐狸以及不能和蔬菜在一起,因为狐狸要吃兔子,兔子也能吃蔬菜。试构造出问题模型,并编程实现这一问题的求解。 课题28:(交通灯问题)多叉路口交通灯的管理问题。通
11、常, 在十字交叉路口只需设红、绿两色的交通灯便可保持正常的交通秩 序,而在多叉路口需设几种颜色的交通灯才能既使车辆相互之间不 碰撞,又能达到车辆的最大流通。假设有一个如图(a)所示的五叉路 口,其中C 和E 为单行道。在路口有13条可行的通路,其中有的 可以同时通行,如A B 和E C ,而有的不能同时通行,如E B 和A D 。那么,在路口应如何设置交通灯进行车辆的管理呢? 课题29:(九宫问题)在一个33的九宫中有18这8个数及一个空格随机地摆放在其中的格子里。如下面左图所示。现在要求实现这样的问题:将该九宫格调整为如下图右图所示的形式。调整的规则是:每次只能将与空格(上、下或左、右)相邻
12、的一个数字平移到空格中。试编程实现这一问题的求解。 2 3 7 1 8 6 5 4 课题30:设计一个模拟电梯工作过程的图形演示系统。要求所设计的电梯能符合市场上大多数系统的要求。 1 238 47 65课题31:给出一组实验来比较下列排序算法的时间性能: 快速排序、堆排序、希尔排序、冒泡排序、归并排序(其它排序也可以作为比较的对象) 要求: (1)时间性能包括平均时间性能、最好情况下的时间性能、最差情况下的时间性能等。 (2)实验数据应具有说服力,包括: 规模范围要大(如从100到10000) 数据的初始特性类型要多,因而需要具有随机性; 实验数据的组数要多,即同一规模的数组要多选几种不同类
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 题目

限制150内