ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:59.06KB ,
资源ID:19955349      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19955349.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构课程设计题目Word文档下载推荐.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构课程设计题目Word文档下载推荐.docx

1、(1)输入并建立多项式;(2)输出多项式,输出形式为整数序列:n,c1,e1,c2,e2,,cn,en,其中n是多项式的项数,ci,ei,分别是第i项的系数和指数,序列按指数降序排序;(3)多项式a和b相加,建立多项式a+b;(4)多项式a和b相减,建立多项式a-b;(5)计算多项式在x处的值;(6)计算器的仿真界面(选做)7. 长整数的代数计算 问题描述 应用线性数据结构解决长整数的计算问题。设计数据结构完成长整数的表示和存储,并编写算法来实现两长整数的加、减、乘、除等基本代数运算。 基本要求 长整数长度在一百位以上。 实现两长整数在取余操作下的加、减、乘、除操作,即实现算法来求解a+b m

2、od n, a-b mod n, ab mod n, ab mod n。 输入输出均在文件中。 分析算法的时空复杂性。8. 敢死队问题。有M个敢死队员要炸掉敌人的一碉堡,谁都不想去,排长决定用轮回数数的办法来决定哪个战士去执行任务。如果前一个战士没完成任务,则要再派一个战士上去。现给每个战士编一个号,大家围坐成一圈,随便从某一个战士开始计数,当数到5时,对应的战士就去执行任务,且此战士不再参加下一轮计数。如果此战士没完成任务,再从下一个战士开始数数,被数到第5时,此战士接着去执行任务。以此类推,直到任务完成为止。排长是不愿意去的,假设排长为1号,请你设计一程序,求出从第几号战士开始计数才能让排

3、长最后一个留下来而不去执行任务。要求:至少采用两种不同的数据结构的方法实现。9. 简单计算器输入:不含变量的数学表达式的中缀形式,可以接受的操作符包括+、-、*、/、%和(、)。输出: 如果表达式正确,则输出表达式的结果,如果表达式非法,则输出错误信息。 同时输出堆栈的状态变化过程。注: 输入/输出形式可采取终端设备输入/输出,也可采用文件输入/输出,一个文件中可包含多个表达式10. 迷宫问题-1 以一个m*n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。(1)实现一个以链表作存储结构的栈类型,然后编写一个

4、求解迷宫的非递归程序。求得的通路一三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。(2)编写递归形式的算法,求得迷宫中所有可能的通路;(3)以方阵形式输出迷宫及其通路(4)输出堆栈的变化过程及探测的过程11 迷宫问题-2程序开始运行时显示一个迷宫地图,迷宫中央有一只老鼠,迷宫的右下方有一个粮仓。游戏的任务是使用键盘上的方向键操纵老鼠在规定的时间内走到粮仓处。(1)老鼠形象可辨认,可用键盘操纵老鼠上下左右移动;(2)迷宫的墙足够结实,老鼠不能穿墙而过;(3)正确检测结果,若老鼠在规定时间内走到粮仓处,提示成功,否则提示失败;(4)添加编辑迷宫功能,

5、可修改当前迷宫,修改内容:墙变路、路变墙;(5)找出走出迷宫的所有路径,以及最短路径; 利用序列化功能实现迷宫地图文件的存盘和读出等功能。12. 应用等价类生成随机迷宫并寻找迷宫路径使用等价类来构造一个NN的从左上角到右下角只有一条路径的随机迷宫,然后在这一迷宫上寻找迷宫路径。该设计共包含如下四个部分: 等价类数据结构的设计和实现 构建随机迷宫 寻找迷宫路径 将迷宫和路径用图形方式画出 用图形方式将上述算法获得的随机迷宫及其上的最短路径画出。用线段来表示迷宫中的墙,用在每个方格中心的点来表示路径。13、跳表(Skip List)的实现与分析 4 构造并实现跳表(Skip List)的ADT A

6、DT中应包括初始化、查找、插入、删除等基本操作。 分析各基本操作的时间复杂性。 针对一个实例实现Skip List的动态演示(图形演示)。14. LZW压缩算法及应用 在一个文本文件上实现LZW压缩和解压缩,其中每个字符就是该文本的8位ASCII码。 在实现LZW过程中需要仔细考虑如何在编译表中找到匹配或找不到匹配,需要注意匹配算法的时间、空间开销。 (选做)应用LZW算法实现256色灰度BMP图像文件的压缩和解压缩。15. 二叉树的实现及分析(1)设计实现链表存储的二叉树ADT(2)实现基本操作实现过程(前序遍历、中序遍历、后序遍历、层序遍历等)的动态演示(图形演示)。(3)应用二叉树,实现

7、信号放大器的设置。16. 应用堆实现一个优先队列并实现作业的优先调度 优先队列priority queue是一种可以用于很多场合的数据结构,应用堆结构设计并实现一个优先队列。应用该优先队列实现作业的优先调度:一个作业ti =(si,ei),si为作业的开始时间(进入时间),ei为作业的结束时间(离开时间)。作业调度的基本任务是从当前在系统中的作业中选取一个来执行,如果没有作业则执行nop操作。本题目要求的作业调度是基于优先级的调度,每次选取优先级最高的作业来调度,优先级用优先数(每个作业一个优先数pi)表征,优先数越小,优先级越高。作业ti进入系统时,即si时刻,系统给该作业指定其初始优先数p

8、i = ei - si,从而使越短的作业优先级越高。该优先数在作业等待调度执行的过程中会不断减小,调整公式为:pi = pi - wi,其中的wi为作业ti的等待时间:wi = 当前时间-si。一旦作业被调度,该作业就一直执行,不能被抢占,只有当前执行作业指向完成时,才产生下一轮调度。所以可以在每次调度前动态调整各作业的优先数。编程实现这样一个作业调度系统。1 以堆结构实现优先队列。作业集合中的各作业随机生成,根据作业的s属性和e属性动态调整作业队列,不断加入作业,作业结束删除作业。要对作业调度的结果给出清晰的输出信息,包括:何时作业进入,何时调度哪个作业,何时离开,每个作业等待多长时间,优先

9、数的动态变化情况等。 17. 哈夫曼编/译码器 利用哈夫曼编码进行信息通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码;在接收端将传来的数据进行译码(复原)。对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站写一个哈夫曼码的编译码系统。一个完整的系统应具有以下功能:(1)I:初始化(Initialization)。从终端读入字符集大小n及n个字符和m个权值,建立哈夫曼树,并将它存于文件hfmtree中。(2)C:编码(Coding)。利用已建好的哈夫曼树(如不在内存,则从文件hfmt

10、ree中读入),对文件tobetrans中的正文进行编码,然后将结果存入文件codefile中。(3)D:解码(Decoding)。利用已建好的哈夫曼树将文件codefile中的代码进行译码,结果存入文件textfile中。(4)P:打印代码文件(Print)。将文件codefile以紧凑格式显示在终端上,每行50个代码。同时,将此字符形式的编码文件写入文件codeprint中。(5)T:打印哈夫曼树(Tree printing)。将已在内存中的哈夫曼树以直观的方式(树或凹入表形式)显示在终端上,同时将此字符形式的哈夫曼树写入文件treeprint中。18. AVL树的实现及分析1 编写AVL

11、树判别程序,并判别一个二叉搜索树是否为AVL树。二叉搜索树用其先序遍历结果表示,如:5,2,1,3,7,8。2 实现AVL树,其上的基本操作包括:Search,Insert,Delete,和Ascend;3 实现基本操作的动态演示(图形演示)。扩展:a.实现带索引的AVL搜索树,实现其上的基本操作:Search,Insert,Delete,IndexSearch,IndexDelete和Ascend。前5种函数的时间复杂性应为O(logn),最后一种函数的时间复杂性应为O(n)。 b. 搜索树中有一些元素的关键值相同。19. 直方图问题在直方图问题中,从一个具有n个关键值的集合开始,要求输出不

12、同关键值的列表以及每个关键值在集合中出现的次数(频率)。下图给出了一个含有10个关键值的例子。图a给出了直方图的输入,直方图的表格形式如图b所示,直方图的图形形式如图c 所示。直方图一般用来确定数据的分布,例如,考试的分数、图象中的灰色比例、在生产商注册的汽车和居住在洛杉矶的人所获得的最高学位都可以用直方图来表示。分别使用三种结构(数组、链表散列、二叉搜索树),写出求解直方图问题的程序,通过图形显示运行时间的比较。20. 箱子装载问题在箱子装载问题中,有若干个容量为c的箱子和n个待装载入箱子中的物品。物品i需占si个单元(0sic)。所谓成功装载(feasible packing),是指能把所

13、有物品都装入箱子而不溢出,而最优装载(optimal packing)则是指使用了最少箱子的成功装载。至少给出求解箱子装载问题的三种方案,并进行性能比较。21. B-树的实现及分析 实现在B-树上的查找,并分析其时间复杂性。 实现B-树的ADT,包括其上的基本操作:结点的加入和删除。 要求B-树结构中的M=3或5,实现其中的一种即可。4 实现基本操作的动态演示(图形演示)。22. 图的实现与分析1分别对有向图、无向图、带权有向图、带权无向图实现对图的基本操作(创建、求顶点的度数、增加/删除边、判断边是否存在、DFS、BFS、判断是否连通、连通构件的标识,求生成树等)。图使用邻接矩阵存储。提供随

14、机案例,对任意随机案例,实现DFS和BFS实现过程的动态演示(图形演示)。对DFS提供递归与非递归两种方法的实现,并通过输出进行性能比较。23. 图的实现与分析2图使用邻接链表存储。24. 校园导游3、用无向网表示校园景点平面图,图中顶点表示主要景点,存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。要求能够回答有关景点介绍、游览路径等问题。 查询任意景点的相关信息; 查询图中任意两个景点间的最短路径。 查询图中任意两个景点间的所有路径。 增加、删除、更新有关景点和道路的信息。(选作)* 求多个景点的最佳(最短)游览路径。25. 全国交通咨询模拟 处于不同目的的旅

15、客对交通工具有不同的要求。例如,因公出差的旅客希望在旅途中的时间尽可能地短,出门旅游的旅客则期望旅费尽可能省,而老年旅客则要求中转次数最少。编织一个全国城市间的交通资讯程序,为旅客提供两种或三种最优决策的交通咨询。设计要求(1)提供对城市信息进行编辑(如添加或删除)的功能。(2)城市之间有两种交通工具:火车和飞机。提供对列车时刻表和飞机航班进行编辑(增设或删除)的功能。(3)提供两种最优决策:最快到达和最省钱到达。全程只考虑一种交通工具。(4)旅途中耗费的总时间应该包括中转站的等候时间。(5)咨询以用户和计算机的对话方式进行。由用户输入起始站、终点站、最优决策原则和交通工具。输出信息:最快需要

16、多长时间才能到达或者最少需要多少旅费才能到达,并详细说明依次于何时乘坐哪一趟列车或那一次班机到何地。实现提示(1)对全国城市交通图和列车时刻表及飞机航班表进行编辑,应该提供文件形式输入和键盘输入两种方式。飞机航班表的信息应包括:起始站的出发时间、终点站的到达时间和票价;列车时刻表则需根据交通图给出各个路段的详细信息,例如:对从北京到上海的火车,需给出北京至天津、天津至徐州及徐州至上海各段的出发时间、到达时间及票价等信息。(2)以邻接表座交通图的存储结构,表示边的结构内除含有邻接点的信息外,还应包括交通工具、路程中耗费的时间和花费以及出发和到达的时间等多种属性。(3)增加旅途中转次数最少的最优决

17、策。26. 公交线路上优化路径的查询 最短路径问题是图论中的一个经典问题,其中的Dijkstra算法一直被认为是图论中的好算法,但有的时候需要适当的调整Dijkstra算法才能完成多种不同的优化路径的查询。对于某城市的公交线路,乘坐公交的顾客希望在这样的线路上实现各种优化路径的查询。设该城市的公交线路的输入格式为:线路编号:起始站名(该站坐标);经过的站点1名(该站坐标);经过的站点2名(该站坐标);经过的站点n名(该站坐标);终点站名(该站坐标)。该线路的乘坐价钱。该线路平均经过多少时间来一辆。车速。例如:63:A(32,45);B(76,45);C(76,90);N(100,100)。1元

18、。5分钟。1/每分钟。假定线路的乘坐价钱与乘坐站数无关,假定不考虑公交线路在路上的交通堵塞。对这样的公交线路,需要在其上进行的优化路径查询包括:任何两个站点之间最便宜的路径;任何两个站点之间最省时间的路径等等。 根据上述公交线路的输入格式,定义并建立合适的图模型。 针对上述公交线路,能查询获得任何两个站点之间最便宜的路径,即输入站名S,T后,可以输出从S到T的最便宜的路径,输出格式为:线路x:站名S,站名M1;换乘线路x:站名M1,站名M2;站名MK,站名T。共花费x元。 针对上述公交线路,能查询获得任何两个站点之间最省时间的路径(不考虑在中间站等下一辆线路的等待时间),即输入站名S,T后,可

19、以输出从S到T的考虑在中间站等下一辆线路的等待时间的最省时间的路径,输出格式为:共花费x时间。 针对上述公交线路,能查询获得任何两个站点之间最省时间的路径(要考虑在中间站等下一辆线路的等待时间),即输入站名S,T后,可以输出从S到T的考虑在中间站等下一辆线路的等待时间的最省时间的路径,输出格式为:(4) 实现提示 需深入考虑,应根据不同的应用目标,即不同的优化查询来建立合适的图模型。27. 多叉路口交通灯的管理问题通常,在十字交叉路口只需设红、绿两色的交通灯便可保持正常的交通秩序,而在多叉路口需设几种颜色的交通灯才能既使车辆相互之间不碰撞,又能达到车辆的最大流通。假设有一个如图(a)所示的五叉

20、路口,其中C和E为单行道。在路口有13条可行的通路,其中有的可以同时通行,如AB和EC,而有的不能同时通行,如EB和AD。那么,在路口应如何设置交通灯进行车辆的管理呢?28. 文档集合上的查询 (1) 问题描述 设计数据结构完成在一个文档集合的存储,并构造算法实现其内容的查询。该设计包括三个部分:(一)应用数据结构完成文档集合的内容(基于单词的)存储,并为下一步的查询建立索引。(二)就单个单词的查询请求,设计算法进行查询。(三)对多个单词通过AND和OR构造的复杂查询进行处理(此处可只做两个单词的情况)。具体情形如下面的例子:Example Doc1: I like the class on

21、data structures and algorithms. Doc2: I hate the class on data structures and algorithms. Doc3: Interesting statistical data may result from this survey. Here are the answers to some queries:Query 1: data Doc1, Doc2, Doc3 Query2: data AND structures Doc1, Doc2 Query 3: like OR survey Doc1, Doc3 文档集合

22、上的查询实例 文档集合中的文档数不能少于20个。 数据结构的设计以及查找算法的构造应考虑如何最大程度的提高查询效率。 查询效率的提高应是综合多种查询的,而不是只针对一种查询的优化。 给出查询效率的模拟实验数据。实现提示 AND和OR查询可转变为单个单词查询结果的组合。29. 教学计划编制问题 大学的每个专业都要制订教学计划。假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限值均相等。每个专业开设的课程都是确定的,可以有任意多门,也可以没有。每门课恰好占一个学期。试在这样的前提下设计一个教学计划编制程序。(1)输入参数包括:学期总数,一学期的学分上限,每门课的课程号(固定

23、占3位的字母数字串)、学分和直接先修课的课程号。(2)允许用户指定下列两种编排策略之一:一是使学生在各学期中的学习负担尽量均匀;二是是课程尽可能地集中在前几个学期中。(3)若根据给定的条件问题无解,则报告适当的信息;否则,将教学计划输出到用户指定的文件中。计划的表格格式自行设计。30. 最小生成树Prim算法设计实现无向网结构,针对随机无向网实例和随机起点,用PRIM算法的基本思想求解出所有的最小生成树,并给出求解过程的动态图形演示。 可考虑实现不同存储结构上的实现。31. 最小生成树Kruskal算法设计实现无向网结构,针对随机无向网实例和随机起点,用Kruskal算法的基本思想求解出所有的

24、最小生成树,并给出求解过程的动态图形演示。32. 最短路径Dijkstra算法设计实现有向网结构,针对随机有向网实例和随机源点,用Dijkstra算法求解出单源点到其他各顶点的最短路径,给出求解过程的动态演示。33. 拓扑排序对给定的AOV网,产生所有的拓扑序列,给出求解过程的动态演示。34. 成绩分析问题 录入、保存一个班级学生多门课程的成绩,并对成绩进行分析。(1)通过键盘输入个学生的多门课程的成绩,建立相应的文件input.dat。(2)对文件input.dat中的数据进行处理,要求具有以下功能:1)按各门课程成绩排序,并生成相应的文件输出。2)计算每人的平均成绩,按平均成绩排序,并生成

25、文件。3)求出各门课程的平均成绩、最高分、最低分、不及格人数、6069分人数、7079分人数、8089分人数、90分以上人数。4)根据姓名或学号查询某人的各门课成绩,重名情况也能处理(3)界面美观35. 检查网络给定一个计算机网络以及机器间的双向连线列表,每一条连线与允许两端的计算机进行直接的文件传输,其他计算机间若存在一条连通路径,也可以进行间接的文件传输。要求实现功能:任意指定两台计算机,判断它们之间是否可以进行文件传输?判断整个网络中是否任意两台机器间都可以文件传输?若不可以,请给出当前网络中连通分量的个数及各个连通分量中的机器。增加两台计算机之间的连线。 至少使用两种结构实现。36.

26、调度问题(1)机器调度现有n件任务和无限多台的机器,任务可以在机器上得到处理。每件任务的开始时间为si,完成时间为fi, si fi 。si, fi为处理任务i的时间范围。两个任务i,j重叠是指两个任务的时间范围区间有重叠,而并非是指i,j的起点或终点重合。每台机器在任何时刻最多只处理一个任务。最优分配是指使用的机器最少的可行分配方案。输入任务个数及每个任务的名称,开始时间,完成时间 给出最优分配方案。(2)任务调度现在有n项作业,J1,J2,Jn,要求按顺序执行,已知各作业对应的运行所需时间分别为t1,t2,tn,要求这些作业在一个处理器上运行,并且要求完成这n个作业的平均完成时间最小。每个作业的完成时间等于作业的等待时间与它的执行时间的和,这里假设一旦开始运行一个作业,那么在该作业完成之前,其他作业都只能等待。输入作业个数及每个作业的名称,执行时间 给出最优调度方案。37. 学校超市选址问题(带权有向图的中心点)。对于某一学校超市,其他各单位到其的距离不同,同时各单位人员去超市的频度也不同。请为超市选址,要求实现总体最优。38. 设计散列表实现电话号码查找系统。(1)设每个记录有下列数据项:电话号码、用户名、地址;(2)从键盘输入各记录,分别以电话号码和用户名为关键字建立散列表;(3)查找并显示给定电话号码的记录;(4)查

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1