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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构实验指导书Word格式.docx

1、题目一:单链表的基本操作(*)问题描述实现带头结点的单链表的建立、求长度,取元素、修改元素、插入、删除等单链表的基本操作。基本要求(1)依次从键盘读入数据,建立带头结点的单链表; (2)输出单链表中的数据元素(3)求单链表的长度;(4)根据指定条件能够取元素和修改元素;(5)实现在指定位置插入和删除元素的功能。 测试数据由学生任意指定。题目二:约瑟夫环(*)约瑟夫(Joseph)问题的一种描述是:编号为1,2,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作

2、为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。试设计一个程序求出出列顺序。利用单向循环链表存储结构模拟此过程,按照出列的顺序印出各人的编号。测试数据如:m的初值为20;n的值为7;密码:3,1,7,2,4,8,4;(正确的输出结果应为6,1,4,7,2,3,5)。 (报告上要求写出多批数据测试结果)实现提示程序运行后首先要求用户输入初始报数上限值m,人数n,(设n30)。然后输入各人的密码。选作内容向上述程序中添加在顺序结构上实现的部分。题目三:多项式的表示及相加(*)设计一个算法,以实现一元稀疏多项式的加法运算。(1)输入并建立多项式;(2)输出

3、多项式,输出形式为整数序列:n,c1,e1,c2,e2,cn,en,其中n是多项式的项数,ci和ei分别是第i项的系数和指数,序列按指数降序排列;(3)多项式a和b相加,建立多项式a+b。用带表头结点的单链表存储多项式。多项式a和b相减,建立多项式a-b。三、实验前的准备工作1、掌握线性表的逻辑结构。2、掌握线性表的链式存储结构。3、熟练掌握线性表的插入、删除等操作。四、实验报告要求1、实验报告要按照实验报告格式规范书写。2、实验上要写出多批测试数据的运行结果。3、结合运行结果,对程序进行分析。实验二 栈和队列的基本操作及其应用1、掌握栈和队列的顺序存储结构和链式存储结构,以便在实际中灵活应用

4、。2、掌握栈和队列的特点,即后进先出和先进先出的原则。3、掌握栈和队列的基本运算,如:入栈与出栈,入队与出队等运算在顺序存储结构和链式存储结构上的实现。本次实验提供2个题目,每个题目都标有难度系数,*越多难度越大,学生可以根据自己的情况任选一个!回文判断(*)对于一个从键盘输入的字符串,判断其是否为回文。回文即正反序相同。如“abba”是回文,而“abab”不是回文。(1)数据从键盘读入;(2)输出要判断的字符串; (3)利用栈的基本操作对给定的字符串判断其是否是回文,若是则输出“Yes”,否则输出“No”。商品货架管理(*)商店货架以栈的方式摆放商品。生产日期越近的越靠近栈底,出货时从栈顶取

5、货。一天营业结束,如果货架不满,则需上货。入货直接将商品摆放到货架上,则会使生产日期越近的商品越靠近栈顶。这样就需要倒货架,使生产日期越近的越靠近栈底。设计一个算法,保证每一次上货后始终保持生产日期越近的商品越靠近栈底。可以用一个队列和一个临时栈作为周转。1、掌握栈的逻辑结构和存储结构。2、熟练掌握栈的出栈、入栈等操作。3、掌握队列的逻辑结构和存储结构。4、熟练掌握队列的出队、入队等操作Rails(ACM训练题)DescriptionThere is a famous railway station in PopPush City. Country there is incredibly hi

6、lly. The station was built in last century. Unfortunately, funds were extremely limited that time. It was possible to establish only a surface track. Moreover, it turned out that the station could be only a dead-end one (see picture) and due to lack of available space it could have only one track. T

7、he local tradition is that every train arriving from the direction A continues in the direction B with coaches reorganized in some way. Assume that the train arriving from the direction A has N = 1000 coaches numbered in increasing order 1, 2, ., N. The chief for train reorganizations must know whet

8、her it is possible to marshal coaches continuing in the direction B so that their order will be a1, a2, ., aN. Help him and write a program that decides whether it is possible to get the required order of coaches. You can assume that single coaches can be disconnected from the train before they ente

9、r the station and that they can move themselves until they are on the track in the direction B. You can also suppose that at any time there can be located as many coaches as necessary in the station. But once a coach has entered the station it cannot return to the track in the direction A and also o

10、nce it has left the station in the direction B it cannot return back to the station. InputThe input consists of blocks of lines. Each block except the last describes one train and possibly more requirements for its reorganization. In the first line of the block there is the integer N described above

11、. In each of the next lines of the block there is a permutation of 1, 2, ., N. The last line of the block contains just 0. The last block consists of just one line containing 0. OutputThe output contains the lines corresponding to the lines with permutations in the input. A line of the output contai

12、ns Yes if it is possible to marshal the coaches in the order required on the corresponding line of the input. Otherwise it contains No. In addition, there is one empty line after the lines corresponding to one block of the input. There is no line in the output corresponding to the last null block of

13、 the input. Sample Input51 2 3 4 55 4 1 2 366 5 4 3 2 1Sample OutputYesNo题目四: Sliding Window(ACM训练题)An array of size n 106 is given to you. There is a sliding window of size k which is moving from the very left of the array to the very right. You can only see the k numbers in the window. Each time t

14、he sliding window moves rightwards by one position. Following is an example:The array is 13-1-3567, and k is 3. Window positionMinimum valueMaximum value1-17-1313-3-3-15-335677Your task is to determine the maximum and minimum values in the sliding window at each position. The input consists of two l

15、ines. The first line contains two integers n and k which are the lengths of the array and the sliding window. There are n integers in the second line. There are two lines in the output. The first line gives the minimum values in the window at each position, from left to right, respectively. The seco

16、nd line gives the maximum values. 8 31 3 -1 -3 5 3 6 7-1 -3 -3 -3 3 33 3 5 5 6 7实验三 二叉树的基本运算1、使学生熟练掌握二叉树的逻辑结构和存储结构。2、熟练掌握二叉树的各种遍历算法。建立一棵二叉树,试编程实现二叉树的如下基本操作:1. 按先序序列构造一棵二叉链表表示的二叉树T;2. 对这棵二叉树进行遍历:先序、中序、后序以及层次遍历,分别输出结点的遍历序列;3. 求二叉树的深度/结点数目/叶结点数目;(选做)4. 将二叉树每个结点的左右子树交换位置。 基本要求从键盘接受输入(先序),以二叉链表作为存储结构,建立二

17、叉树(以先序来建立),如输入:ABCDEGF(其中表示空格字符)则输出结果为 先序:ABCDEGF中序:CBEGDFA后序:CGEFDBA层序:ABCDEFG采用非递归算法实现二叉树遍历。1、掌握树的逻辑结构。2、掌握二叉树的逻辑结构和存储结构。3、掌握二叉树的各种遍历算法的实现。实验四 哈夫曼树与哈夫曼编码1、使学生熟练掌握哈夫曼树的生成算法。2、熟练掌握哈夫曼编码的方法。已知n个字符在原文中出现的频率,求它们的哈夫曼编码。1. 初始化:从键盘读入n个字符,以及它们的权值,建立Huffman树。(具体算法可参见教材P147的算法6.12)2. 编码:根据建立的Huffman树,求每个字符的H

18、uffman编码。对给定的待编码字符序列进行编码。. 译码:利用已经建立好的Huffman树,对上面的编码结果译码。译码的过程是分解电文中的字符串,从根结点出发,按字符0和1确定找左孩子或右孩子,直至叶结点,便求得该子串相应的字符。4. 打印Huffman树。测试数据利用教材P.148 例62中的数据调试程序。可设8种符号分别为A,B,C,D,E,F,G,H。编/译码序列为 “CFBABBFHGH”(也可自己设定数据进行测试)。2、掌握哈夫曼树的定义及生成算法。3、掌握哈夫曼编码的方法。实验五 图的基本操作1、使学生可以巩固所学的有关图的基本知识。2、熟练掌握图的存储结构。3、熟练掌握图的两种

19、遍历算法。对给定图,实现图的深度优先遍历和广度优先遍历。以邻接表为存储结构,实现连通无向图的深度优先和广度优先遍历。以用户指定的结点为起点,分别输出每种遍历下的结点访问序列。【测试数据】由学生依据软件工程的测试技术自己确定。1、掌握图的相关概念。2、掌握图的逻辑结构和存储结构。3、掌握图的两种遍历算法的实现。实验六 图的应用3、掌握如何应用图解决各种实际问题。本次实验提供2个题目,学生可以任选一个!最小生成树问题若要在n个城市之间建设通信网络,只需要假设n-1条线路即可。如何以最低的经济代价建设这个通信网,是一个网的最小生成树问题。1 利用克鲁斯卡尔算法求网的最小生成树。2 要求输出各条边及它

20、们的权值。实现提示通信线路一旦建成,必然是双向的。因此,构造最小生成树的网一定是无向网。设图的顶点数不超过30个,并为简单起见,网中边的权值设成小于100的整数。图的存储结构的选取应和所作操作相适应。为了便于选择权值最小的边,此题的存储结构既不选用邻接矩阵的数组表示法,也不选用邻接表,而是以存储边(带权)的数组表示图。 测试数据由学生依据软件工程的测试技术自己确定。最短路径问题给定一个无向网,可以求得任意一对顶点之间的最短路径。 以邻接矩阵为存储结构,用迪杰斯特拉算法求解从某一源点到其它顶点之间的最短路径及最短路径长度。3、掌握图的各种应用的实现。实验七 查找、排序的应用1、本实验可以使学生更

21、进一步巩固各种查找和排序的基本知识。2、学会比较各种排序与查找算法的优劣。3、学会针对所给问题选用最适合的算法。4、掌握利用常用的排序与选择算法的思想来解决一般问题的方法和技巧。对学生的基本信息进行管理。设计一个学生信息管理系统,学生对象至少要包含:学号、姓名、性别、成绩1、成绩2、总成绩等信息。要求实现以下功能:1总成绩要求自动计算;2查询:分别给定学生学号、姓名、性别,能够查找到学生的基本信息(要求至少用两种查找算法实现);3 排序:分别按学生的学号、成绩1、成绩2、总成绩进行排序(要求至少用两种排序算法实现)。1、掌握哈希表的定义,哈希函数的构造方法。2、掌握一些常用的查找方法。1、掌握几种常用的排序方法。2、掌握直接排序方法。实验报告格式一、问题描述二、算法设计(包括算法设计思想、算法设计分析、流程图等)三、测试数据四、结果及分析五、附录(源代码)

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

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