版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据结构实验教学大纲实验学时:24 实验个数:7 实验学分: 1.5课程性质:专业必修课 适用专业: 计算机科学与技术、网络工程、软件工程教材及参考书:1. 数据结构(C语言版),严蔚敏 吴伟民,北京:清华大学出版社,20042. 数据结构题集(C语言版)实习题部分,北京:清华大学出版社,2004;3. 数据结构实验教程,王玲 刘芳等著,成都:四川大学出版社,20024. 数据结构实验,刘芳 揭安全等著,重庆:西南师范大学出版社,2010大纲执笔人:刘芳 大纲审定人:郭涛一、实验课的性质与任务本课程实验大纲是面向计算机相关专业学生开设的数据结构实验课计划指导大纲,是依据数据结构课程教学计划指导
2、大纲编制。计算机编程中加工处理的对象是数据,而数据具有一定的组织结构,所以学习编写计算机程序仅仅了解计算机语言是不够的,还必须掌握数据组织、存储和运算的一般方法,这是数据结构课程中学习和研究的内容。由于数据结构的原理和算法较抽象,而该课程一般在本科低年级开设,对于计算机程序设计知识的初学者,理解和掌握其中的原理就显得较为困难。数据结构实验课程着眼于数据结构原理和应用的结合点,使读者学会如何将书上学到的知识用于解决实际问题,培养软件工作需要的动手能力;另一方面,能使书上的知识变“活”,起到深化理解和灵活掌握教学内容的目的。本实验课程主要结合数据结构课程的教学大纲的相应内容,设计了7个实验(包括验
3、证型、综合型、设计型实验),力求提高学生的动手能力,做到理论和实践相结合。使学生在实验过程中进一步掌握典型数据结构的逻辑结构、存储结构及算法的程序实现,并训练问题的综合分析能力和编程能力,形成良好的编程风格,为后续课程的学习奠定坚实的理论和实践基础。二、实验课程目的与要求1. 实验目的根据数据结构课程的任务与要求,帮助学生拓宽知识面。并达到以下教学要求:(1) 学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及其相应的算法,并初步掌握算法的时间分析和空间分析的技术;掌握各种基本数据结构的逻辑结构和存储结构及相应算法。(2) 本课程的学习过程也是复杂程序设
4、计的训练过程,要求学生编写的程序结构清楚、正确易读,符合软件过程的规范,从而培养学生的数据抽象能力;(3) 通过若干数据结构应用实例,引导学生学习数据类型的使用,为今后学习面向对象的程序做一些铺垫。2. 实验要求(1) 熟悉各种基本数据结构的定义,性质和特点,初步掌握算法分析的基本技巧以及如何根据实际问题设计一个有效的算法。(2) 会书写类C语言的算法,并将算法转变为程序实现。(3) 正确理解各种数据结构的逻辑特性和存储表示和基本操作的算法实现,有较强的逻辑分析能力。(4) 针对问题的不同选择合适的数据结构,提高算法设计的能力和动手实验的技能。三、实验内容安排:实验一 抽象数据类型的表示与实现
5、(基本操作、验证型实验 2学时)1.目的要求:(1) 熟悉类C语言的描述方法,学会将类C语言描述的算法转换为C源程序实现;(2) 理解抽象数据类型的定义,编写完整的程序实现一个抽象数据类型(如三元组);(3) 认真阅读和掌握本实验的参考程序,上机运行程序,保存和打印出程序的运行结果,并结合程序进行分析。2.实验内容:(1) 编程实现对一组从键盘输入的数据,计算它们的最大值、最小值等,并输出。要求:将计算过程写成一个函数,并采用引用参数实现值的求解。(2) 编程实现抽象数据类型三元组的定义、存储和基本操作,并设计一个主菜单完成各个功能的调用。注:(1)为必做题,(2)选做。3.主要仪器设备及软件
6、(1) PC机(2) Dev C+ ,Visual C+, VS2010等实验二 线性表及其实现(基本操作、验证型实验 4学时)1.目的要求:(1) 熟悉线性表的基本运算在两种存储结构(顺序结构和链式结构)上的实现,以线性表的各种操作(建立、插入、删除等)的实现为实验重点;(2) 通过本次实验帮助学生加深对顺序表、链表的理解,并加以应用;(3) 掌握循环链表和双链表的定义和构造方法2. 实验内容:(1) 编程实现线性表两种存储结构(顺序存储、链式存储)中的基本操作的实现(线性表的创建、插入、删除、查找(顺序查找、折半查找)、排序等),并设计一个菜单调用线性表的基本操作。(2) 建立一个按元素递
7、增有序的单链表L,并编写程序实现:a) 将x插入其中后仍保持L的有序性;b) 将数据值介于min和max之间的结点删除,并保持L的有序性;c) 将单链表L逆置并输出;(3) 编程实现将两个按元素递增有序的单链表合并为一个新的按元素递增的单链表。注:(1)为必做题,(2)(3)选做。3.主要仪器设备及软件(1) PC机(2) Dev C+ ,Visual C+, VS2010等实验三 栈和队列及其应用(验证型、设计型实验 4学时)1.目的要求:(1) 掌握栈和队列这两种特殊的线性表,熟悉它们的特性,在实际问题背景下灵活运用它们;(2) 本实验训练的要点是“栈”的观点及其典型用法;(3) 掌握问题
8、求解的状态表示及其递归算法,以及由递归程序到非递归程序的转化方法。2.实验内容:(1) 编程实现栈在两种存储结构中的基本操作(栈的初始化、判栈空、入栈、出栈等);(2) 应用栈的基本操作,实现数制转换(任意进制);(3) 编程实现队列在两种存储结构中的基本操作(队列的初始化、判队列空、入队列、出队列);(4) 利用栈实现任一个表达式中的语法检查(括号的匹配)。(5) 利用栈实现表达式的求值。注:(1)(3)必做,(4)(5)选做。3.主要仪器设备及软件(1) PC机(2) Dev C+ ,Visual C+, VS2010等实验四 字符串、稀疏矩阵实验(验证型实验 2学时)1.目的要求:(1)
9、 熟悉字符串类型的实现方法,并完成串的一些基本操作;(2) 掌握稀疏矩阵的三元组顺序表存储表示,并实现矩阵的转置运算。2.实验内容:(1) 编程实现两个串S1和S2的比较。(要求自己设计串的存储结构,并编写比较函数,不要调用系统提供的函数)(2) 编程实现稀疏矩阵的三元组顺序表示方法及基本操作的实现(建立、输出、转置等)。(3) 编程实现稀疏矩阵的十字链表存储表示及基本操作的实现(建立、输出等)。注:(2)必做,(1)(3)选做。3.主要仪器设备及软件(1) PC机(2) Dev C+ ,Visual C+, VS2010等实验五 二叉树及其应用(验证型、综合型实验 4学时)1.目的要求:(1
10、) 通过实验掌握二叉树的两种基本的存储结构,及二叉树的建立、遍历,并加以应用。(2) Huffman树建立、编码。2.实验内容:(1) 按先序次序输入二叉树中结点的值,建立一棵以二叉链表作存储结构的二叉树,然后按先序、中序、后序顺序分别遍历这棵二叉树,并完成二叉树的相应信息的统计(如各种结点数目、二叉树的高度等);(2) 建立一棵二叉排序树,并对其进行先序、中序、后序遍历。(3) 应用队列结构实现二叉树的层次遍历。(4) 设计一个完整的编码系统:针对一篇文档,统计各个字符的出现次数,并为其设计Huffman编码。注:(1)(2)必做,(3)(4)选做。3.主要仪器设备及软件(1) PC机(2)
11、 Dev C+ ,Visual C+, VS2010等实验六 图及其应用(验证型、综合型实验 4学时)1.目的要求:(1) 通过完成本实验,掌握图的两种基本的存储结构(邻接矩阵、邻接表),以及图的基本算法实现(建立、遍历),并能运用图结构分析解决一些实际问题。(2) 本实验训练的要点是:图的两种基本存储结构,及各种操作的算法实现(建立、遍历、图的典型应用)。2.实验内容:(1) 建立无向图和有向图的邻接矩阵存储,计算顶点的度,并输出图的基本信息。(2) 建立有向图的邻接表存储表示,并根据存储计算顶点的出度和入度,然后输出图的基本信息。(3) 编写完整的程序实现AOV网的拓扑排序。(4) 编程求
12、AOE网的关键路径。(5) 编程实现单源点最短路径的Dijkstra算法。注:(1)(2)必做,(3)(5)选做。3.主要仪器设备及软件(1) PC机(2) Dev C+ ,Visual C+, VS2010等实验七 查找和排序算法的实现(基本操作、验证型实验 2学时)1.目的要求:(1) 学生在实验中体会各种查找和内部排序算法的基本思想、适用场合,理解开发高效算法的可能性和寻找、构造高效算法的方法。(2) 掌握运用查找和排序解决一些实际应用问题。2.实验内容:(1) 编程实现一种查找算法(如折半查找、二叉排序树的查找、哈希查找等),并计算相应的ASL。(2) 编程实现一种内部排序算法(如插入排序、快速排序等)。注:该
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大学(茶学)茶树栽培学测试卷及解析
- 2026年植物保护与检疫技术(植物检疫)考题及答案
- 2025年大学(经济学)经济学专业阶段测试题及答案
- 2025年大学大二(地质学基础)沉积岩形成试题及参考答案
- 2025年大学(计算机科学与技术)人工智能导论进阶阶段测试题及解析
- 2025年大学(妇幼保健医学)妇幼卫生政策综合测试卷及解析
- 第2单元 第7课 三国至隋唐的制度变化与创新5fd337
- 第3部分 第14章 第1讲 课时1 区域发展的自然环境基础
- 化学能传递风险防控指南
- 产品加工精度控制标准
- 江西省三新协同体2025-2026年高一上12月思想政治试卷(含解析)
- 2025安徽芜湖市鸠江区人民医院招聘工作人员21人笔试考试参考试题及答案解析
- 企业财务尽调咨询服务合同
- 2026年山西工程职业学院单招职业技能考试题库及答案解析(名师系列)
- 社区工作者社工面试题及答案解析
- 2024年福建省特殊技能人才录用公安特警队员笔试真题
- 2025年大学《新闻学-新闻法规与伦理》考试参考题库及答案解析
- 蓄水池防水施工方案及施工工艺方案
- 培优点05 活用抽象函数模型妙解压轴题 (9大题型)(讲义+精练)(解析版)-2026年新高考数学大一轮复习
- GB/T 23452-2025天然砂岩建筑板材
- 中国血液吸附急诊专家共识(2025年)
评论
0/150
提交评论