数据结构课程设计题目表

上传人:kms****20 文档编号:46581837 上传时间:2018-06-27 格式:PDF 页数:8 大小:202.54KB
返回 下载 相关 举报
数据结构课程设计题目表_第1页
第1页 / 共8页
数据结构课程设计题目表_第2页
第2页 / 共8页
数据结构课程设计题目表_第3页
第3页 / 共8页
数据结构课程设计题目表_第4页
第4页 / 共8页
数据结构课程设计题目表_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《数据结构课程设计题目表》由会员分享,可在线阅读,更多相关《数据结构课程设计题目表(8页珍藏版)》请在金锄头文库上搜索。

1、数据结构课程设计课题表数据结构课程设计课题表 课题课题 1:设计出链表结构的相关函数库,以便在程序设计中调用。要求: (1)包括线性表的各种基本函数以及常用函数(自己确定函数、函数形式及理由) 。 (2) 最好能借助语言环境实现图形显示功能, 以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。 (3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。 课题课题 2:设计出顺序表结构的相关函数库,以便在程序设计中调用。要求: (1)包括线性表的各种基本函数以及常用函数(自己确定函数、函数形式及理由) 。 (2) 最好能借助语言环境实现图形显示功能, 以便能将

2、抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。 (3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。 课题课题 3:设计程序以实现任意两个高次多项式的加法和乘法运算。 要求: (1)所设计的数据结构应尽可能节省存储空间。 (2)程序的运行时间应尽可能少。 课题课题 4:设计一个模拟计算器的程序,要求能对包含加、减、乘、除、括号运算符及SQR 和 ABS 函数的任意整型表达式进行求解。 要求:要检查有关运算的条件,并对错误的条件产生报警。 课题课题 5:设计出二叉链表结构的相关函数库,以便在程序设计中调用。要求: (1)包括二叉树的各种基本函数以及常用函数(

3、自己确定函数、函数形式及理由) 。 (2) 最好能借助语言环境实现图形显示功能, 以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。 (3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。 课题课题 6:设计出树结构的相关函数库,以便在程序设计中调用。要求: (1)包括树结构的存储结构及各种基本函数以及常用函数(自己确定函数、函数形式及理由) 。 (2) 最好能借助语言环境实现图形显示功能, 以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。 (3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。 课题课题 7:选

4、择合适的存储结构表示广义表,并能实现下列运算要求: (1)用大写字母表示广义表,用小写字母表示原子,并提供设置广义表的值的功能。 (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:设计程序以实现构造哈夫曼树的

5、哈夫曼算法,要求如下: (1)可以使用实验工具的有关功能。 (2)要能演示构造过程。 (3)求解出所构造的哈夫曼树的带权路径长度。 课题课题 9: 采用哈夫曼编码思想实现文件的压缩和恢复功能, 并提供压缩前后的占用空间之比。 要求: (1)描述压缩基本符号的选择方法。 (2)运行时的压缩原文件的规模应不小于 5K。 (3)提供恢复文件与原文件的相同性对比功能。 课题课题 10:设计出图结构的相关函数库,以便在程序设计中调用。要求: (1)包括图结构的存储结构及各种基本函数以及常用函数(自己确定函数、函数形式及理由) 。 (2) 最好能借助语言环境实现图形显示功能, 以便能将抽象的数据结构以图形

6、方式显示出来,将复杂的运行过程以动态方式显示出来。 (3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。 课题课题 11:设计程序完成如下功能:对给定的图结构和起点,产生其所有的深度优先搜索遍历序列,并给出求解过程的动态演示。 课题课题 12:设计程序完成如下功能:对给定的网和起点,实现求解最小生成树的 PRIM算法,并给出求解过程的动态演示。 课题课题 13:设计程序完成如下功能:对给定的图结构,实现求解最小生成树的 Kruskal算法,并给出求解过程的动态演示。 课题课题 14:设计程序完成如下功能:对给定的网和起点,用 PRIM 算法的基本思想求解出所有的最小生成树,并给出

7、求解过程的动态演示。 课题课题 15:设计程序完成如下功能:对给定的图结构,用 Kruskal 算法的基本思想求解出所有的最小生成树,并给出求解过程的动态演示。 课题课题 16:选择合适的结构表示图,在此基础上实现拓扑排序算法。 要求:对所设计的图结构,提供必要的基本功能。 课题课题 17:设计程序完成如下功能:对给定的 AOV 网,产生所有的拓扑序列,并给出求解过程的动态演示。 课题课题 18:选择合适的结构表示图,在此基础上实现求解最短路径的 Dijkstra 算法。 要求:对所设计的图结构,提供必要的基本功能。 课题课题 19(校园导航问题):计你的学校的平面图,至少包括 10 个以上的

8、场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)。 课题课题 20(马的遍历问题):设计程序完成如下要求:在中国象棋棋盘上,对任一位置上放置的一个马, 均能选择一个合适的路线, 使得该棋子能按象棋的规则不重复地走过棋盘上的每一位置。 要求: (1)依次输出所走过的各位置的坐标。 (2)最好能画出棋盘的图形形式,并在其上动态地标注行走过程。 (3)程序能方便地地移植到其它规格的棋盘上。 课题课题 21:在 88 的国际象棋棋盘上,如果在放置若干个马后,使得整个棋盘的任意空位置上所放置的棋子均能被这些马吃掉, 则称这组放置为棋盘的一个满覆盖。 若

9、去掉满覆盖中的任意一个棋子都会使这组放置不再是满覆盖, 则称这一满覆盖为极小满覆盖。 设计程序完成如下要求: 要求: (1)求解一个极小满覆盖。 (2)最好能画出棋盘的图形形式,并在其上动态地演示试探过程。 (3)程序能方便地地移植到其它规格的棋盘上。 课题课题 22:在中国象棋棋盘上实现上一课题的任务。 要求:除了上一课题的要求外,还要考虑到“别腿”的规定。 课题课题 23:选择合适的数据结构表示 B-树,并分别实现 B-树的初始化、插入、删除、数据结构的文件存取、图形显示等功能。 本题可分解为五个子课题,要求这些子课题采用相同的存储结构,并能方便地组成一个完整的程序。 课题课题 24:在一

10、个由 mn 个小正方形组成的矩形上,依次用有两个相邻的小正方形大小的矩形(此处所谓相邻是指两个正方形有一条边公用边)不重复地覆盖该矩形区域。请构造出该问题的数学模型,设计算法求解所有可能的覆盖。 课题课题 25(简易五子棋游戏):设计程序实现一个人机对弈的简单的五子棋游戏。游戏规则如下:在 1919 的围棋棋盘的交叉点上,对弈双方轮流放子,最先在棋盘上摆成(按水平、垂直或对角线方向)连续五个子的一方为胜方。 课题课题 26:在表达式“123456789=100”中左边的适当位置插入运算符“”或“”,以使等式成立。例如 123456789=100。 课题课题 27:有一人要将自己的兔子、蔬菜和狐

11、狸等三件物品运过河。但过河所用的船每次只能装其中的两件, 而这三件物品之间又存在一定的制约关系: 兔子不能单独和狐狸以及不能和蔬菜在一起,因为狐狸要吃兔子,兔子也能吃蔬菜。试构造出问题模型,并编程实现这一问题的求解。 课题课题 28:(交通灯问题)多叉路口交通灯的管理问题。通常,在十字交叉路口只需设红、绿两色的交通灯便可保持正常的交通秩序,而在多叉路口需设几种颜色的交通灯才能既使车辆相互之间不碰撞,又能达到车辆的最大流通。假设有一个如图(a)所示的五叉路口,其中 C 和 E 为单行道。在路口有 13 条可行的通路,其中有的可以同时通行,如 AB 和 EC,而有的不能同时通行,如 EB和 AD。

12、那么,在路口应如何设置交通灯进行车辆的管理呢? 课题课题 29:(九宫问题)在一个 33 的九宫中有 18 这 8 个数及一个空格随机地摆放在其中的格子里。如下面左图所示。现在要求实现这样的问题:将该九宫格调整为如下图右图所示的形式。调整的规则是:每次只能将与空格(上、下或左、右)相邻的一个数字平移到空格中。试编程实现这一问题的求解。 2 37 1 86 5 4 课题课题 30:设计一个模拟电梯工作过程的图形演示系统。要求所设计的电梯能符合市场上大多数系统的要求。 1 238 47 65课题课题 31:给出一组实验来比较下列排序算法的时间性能: 快速排序、堆排序、希尔排序、冒泡排序、归并排序(

13、其它排序也可以作为比较的对象) 要求: (1)时间性能包括平均时间性能、最好情况下的时间性能、最差情况下的时间性能等。 (2)实验数据应具有说服力,包括: 规模范围要大(如从 100 到 10000) 数据的初始特性类型要多,因而需要具有随机性; 实验数据的组数要多,即同一规模的数组要多选几种不同类型的数据来实验。 实验结果要能以清晰的形式给出,如图、表等。 (3)算法所用时间必须是机器时间,也可以包括比较和交换元素的次数。 (4)实验分析及其结果要能以清晰的方式来描述,如数学公式或图表等。 (5)要给出实验的方案及其分析。 课题课题 32:实现一个 N*M 的扫雷游戏。 课题课题 33:运动

14、会分数统计:参加运动会有 n 个学校,学校编号为 1n。比赛分成 m个男子项目,和 w 个女子项目。项目编号为男子 1m,女子 m+1m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m=20,n=20) 功能要求: 1) 可以输入各个项目的前三名或前五名的成绩; 2) 能统计各学校总分; 3) 可以按学校编号或名称、学校总分、男女团体总分排序输出; 4) 可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。 5) 数据存入文件并能随时查询 6) 规定:输入数据形式

15、和范围:可以输入学校的名称,运动项目的名称 输出形式:有中文提示,各学校分数为整形 界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。 存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。 (数据文件的数据读写方法等相关内容在 c 语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构; 测试数据:要求使用 1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明; 课题课题 34:飞机订票系统任务:通过此系统可以实现如下功能: 录入:可以录入

16、航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)。查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况。订票:(订票情况可以存在一个数据文件中,结构自己设定);可以订票,如果该航班已经无票,可以提供相关可选择航班。退票: 可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。修改航班信息:当航班信息改变可以修改航班数据文件 要求: 根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能; 课题课题 35:文章编辑:输入一页文字,程序可以统计出文字、数字、空格的个数。 静态存储一页文章,每行最多不超过 80 个字符,共 N 行;要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号