《数据结构与算法设计》实验大纲及实验内容详细要求_第1页
《数据结构与算法设计》实验大纲及实验内容详细要求_第2页
《数据结构与算法设计》实验大纲及实验内容详细要求_第3页
《数据结构与算法设计》实验大纲及实验内容详细要求_第4页
《数据结构与算法设计》实验大纲及实验内容详细要求_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据结构与算法设计实验大纲及实验内容详细要求一、 课程编号:二、 课程类型:必修适用专业:通信工程实验学时:32学时三、 本课程的地位、作用与任务数据结构课程的目标是使学生掌握数据的基本的逻辑结构和存储结构、一些典型的数据结构算法及程序设计方法,要求学会分析数据对象特征,掌握数据组织方法和计算机的表示方法,为数据选择适当的逻辑结构、存储结构以及相应的处理算法,要求具备算法分析的基本技术和能力,并培养良好的程序设计风格,掌握开发复杂、高效程序的技能。在实验前要预习或者自行补充部分学时,同时进行部分代码准备,实验后要认真完成实验报告。四、 课程基本要求1.学生应根据每个实验的任务和教师所提的要求,

2、带C语言教材和课程教材。2.完成指定的实验任务,保存源代码并输出、记录实验结果。3.实验结束后按时提交实验报告,对于未完成部分,应该利用课余时间补充完成。五、 实验安排本实验课程共32学时,五个实验(单元),分16次实验,每次2学时。实验一: C程序编程、调试实验1、 实验学时:4学时(学生堂下自行加4学时)2、 实验目的:1) 巩固复习前期所学C语言的基本数据类型和自定义数据类型等知识点,强化学习数据结构语言和编程基础。2) 巩固复习前期所学C语言的函数参数传递、指针和结构体等知识点,加强学习数据结构语言基础。3) 能够较熟练调试程序3、 实验内容:1) 学生信息的显示。具体要求如下:l 定

3、义一个结构体描述学生信息(学号,姓名,性别,年龄,住址);l 设计一个函数,用于显示单个学生信息,函数的参数为前面定义的结构体类型;l 设计一个主函数,在主函数中输入学生的信息,并调用前面定义的函数进行显示(学生人数不少于5人)。2) 输入若干个整数存储到数组元素值,然后按输入顺序进行逆置存储,最后打印出逆置后的元素值。要求用指针和动态内存分配方法实现。例如输入:10 2 30 4 5,逆置后显示为:5 4 302 10。3) 编写扑克牌发牌程序。在VC+的调试环境下观察数据存储位置、存储数据的变化、数据之间的逻辑次序、物理存储位置次序。4) 对上述C程序进行调试,运行,从中理解数据和算法的概

4、念,总结调试方法。实验二: 线性表的存储及基本操作、综合应用1、 实验学时:6学时2、 实验目的:1) 掌握线性表的逻辑特征2) 熟练掌握线性表的链式存储结构定义及基本操作3) 理解循环链表和双链表的特点和基本运算4) 加深对顺序存储数据结构的理解和链式存储数据结构的理解,逐步培养解决实际问题的编程能力。5) 掌握顺序表和链表的概念,学会对问题进行分析,选择恰当的逻辑结构和物理结构6) 和实验一一起撰写一份实验报告,总结学习效果3、 实验内容:使用顺序表和链表两种存储结构(linked list),存储输入的一组数据整数,能够进行插入、删除等操作。线性表的具体操作采用函数形式实现,编写主程序实

5、现对各不同函数的调用。其中对单链表具体要求:l 初始化一个带表头结点的空链表;l 创建一个单链表是从无到有地建立起一个链表,即一个一个地输入各结点数据,并建立起前后相互链接的关系。又分为逆位序(插在表头)输入n个元素的值和正位序(插在表尾)输入n个元素的值;l 插入结点可以根据给定位置进行插入(位置插入),也可以根据结点的值插入到已知的链表中(值插入),且保持结点的数据按原来的递增次序排列,形成有序链表。l 删除结点可以根据给定位置进行删除(位置删除),也可以把链表中查找结点的值为搜索对象的结点全部删除(值删除);l 输出单链表的内容是将链表中各结点的数据依次显示,直到链表尾结点;实验三: 二

6、叉树的定义及基本操作1、 实验学时:8学时2、 实验目的:1) 熟练掌握二叉树的二叉链表存储结构2) 掌握二叉树的非线性和递归性特点3) 熟练掌握二叉树的递归遍历操作的实现方法4) 加深对二叉树和性质的理解,逐步培养解决实际问题的编程能力3、 实验内容:1) 利用二叉树的链式存储结构,设计一组输入数据(假定为一组整数或一组字符),能够对二叉树进行如下操作:l 创建一棵空二叉树;l 对一棵存在的二叉树进行销毁;l 根据输入某种遍历次序输入二叉树中结点的值,依序建立二叉树;l 判断某棵二叉树是否为空;l 求二叉树的根结点,若为空二叉树,则返回一特殊值;l 二叉树的遍历,即按某种方式访问二叉树中的所

7、有结点,并使每个结点恰好被访问一次;l 求二叉树的深度;l 编写主程序,实现对各不同的算法调用;实验四: 图存储及基本操作、典型应用1、 实验学时:6学时2、 实验目的:1) 熟练掌握图的两种存储结构(邻接矩阵和邻接表)的表示方法2) 掌握图的基本运算及应用3) 加深对图的理解,逐步培养解决实际问题的编程能力4) 掌握图的邻接矩阵、邻接表的表示方法5) 加深对图的理解,逐步培养解决实际问题的编程能力6) 和实验三一起撰写一份实验报告,总结学习效果3、 实验内容:1) 实现图的邻接矩阵、邻接表存储结构,然后基于一种存储结构实现如下操作:l 创建一个可以随机确定结点数和弧(有向或无向)数的图;l 根据图结点的序号,得到该结点的值;l 根据图结点的位置的第一个邻接顶点的序号,以及下一个邻接顶点的序号;l 实现从第 v个顶点出发对图进行深度优先递归遍历;l 实现对图作深度优先遍历;l 编写主程序,实现对各不同的算法调用。实验五: 查找与排序算法综合应用1、 实验学时:8学时2、 实验目的1) 巩固和加深对各种数据结构的理解;2) 掌握恰当选用数据结构,并设计适合算法的能力;3) 撰写相应实验报告

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论