《数据结构与算法设计》实验大纲及实验内容详细要求.doc

上传人:飞****2 文档编号:60125460 上传时间:2022-11-13 格式:DOC 页数:5 大小:30.50KB
返回 下载 相关 举报
《数据结构与算法设计》实验大纲及实验内容详细要求.doc_第1页
第1页 / 共5页
《数据结构与算法设计》实验大纲及实验内容详细要求.doc_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《《数据结构与算法设计》实验大纲及实验内容详细要求.doc》由会员分享,可在线阅读,更多相关《《数据结构与算法设计》实验大纲及实验内容详细要求.doc(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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

8、根据图结点的序号,得到该结点的值;l 根据图结点的位置的第一个邻接顶点的序号,以及下一个邻接顶点的序号;l 实现从第 v个顶点出发对图进行深度优先递归遍历;l 实现对图作深度优先遍历;l 编写主程序,实现对各不同的算法调用。实验五: 查找与排序算法综合应用1、 实验学时:8学时2、 实验目的1) 巩固和加深对各种数据结构的理解;2) 掌握恰当选用数据结构,并设计适合算法的能力;3) 撰写相应实验报告,总结学习效果。3、 实验内容针对某大型比赛的投票结果、比赛成绩(例如:参赛人数1000人,观众投票100人、专家投票5人)进行管理、实现按成绩排序(简单选择排序、快速排序)、按姓名及成绩查找功能。采用加入时间等参考因素测试所实现算法的效率。

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁