[理学]数据结构实验教学大纲.doc_第1页
[理学]数据结构实验教学大纲.doc_第2页
[理学]数据结构实验教学大纲.doc_第3页
[理学]数据结构实验教学大纲.doc_第4页
[理学]数据结构实验教学大纲.doc_第5页
全文预览已结束

下载本文档

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

文档简介

数据结构实验教学大纲课程总学时:6432 学分:5 实验学时:32 实验个数: 实验学分: 1课程性质:必做 适用专业: 计算机科学与技术、软件工程、网络工程教材及参考书:数据结构(C语言版),严蔚敏 吴伟民,清华大学出版社,2002年9月第1版 ;数据结构题集(C语言版)实习题部分,清华大学出版社;数据结构实验教程,王玲 刘芳 贺春林等,四川大学出版社,2002年10月, 大纲执笔人:刘芳 大纲审定人: 一、实验课的性质与任务计算机编程中加工处理的对象是数据,而数据具有一定的组织结构,所以学习编写计算机程序仅仅了解计算机语言是不够的,还必须掌握数据组织、存储和运算的一般方法,这是数据结构课程中学习和研究的内容。由于数据结构的原理和算法较抽象,而该课程一般在本科低年级开设,对于计算机程序设计知识的初学者,理解和掌握其中的原理就显得较为困难。数据结构实验课程着眼于原理和应用的结合点,使读者学会如何将书上学到的知识用于解决实际问题,培养软件工作需要的动手能力;另一方面,能使书上的知识变“活”,起到深化理解和灵活掌握教学内容的目的。平时练习较偏重于如何编写功能单一的“小”算法,而实习题是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。此外,还有很重要的一点是:机器是比任何老师更严厉的检查者。训练的重点在于基本的数据结构,而不是强调面面俱到。各实习单元与教科书的各章只具有粗略的对应关系,一个实习题常常涉及到几部分教学内容。二、实验课程目的与要求1. 实验目的根据数据结构课程的任务与要求,帮助学生拓宽知识面。并达到以下教学要求:1) 学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及其相应的算法,并初步掌握算法的时间分析和空间分析的技术;掌握各种基本数据结构的逻辑结构和存储结构及相应算法。2) 本课程的学习过程也是复杂程序设计的训练过程,要求学生编写的程序结构清楚、正确易读,符合软件过程的规范,从而培养学生的数据抽象能力;3) 通过若干数据结构应用实例,引导学生学习数据类型的使用,为今后学习面向对象的程序做一些铺垫。2.实验要求1) 熟悉各种基本数据结构的定义,性质和特点,初步掌握算法分析的基本技巧以及如何根据实际问题设计一个有效的算法。2) 会书写类C语言的算法,并将算法转变为程序实现。3) 正确理解各种数据结构的逻辑特性和存储表示和基本操作的算法实现,有较强的逻辑分析能力。4) 针对问题的不同选择合适的数据结构,提高算法设计的能力和动手实验的技能。三、实验项目及内容提要数据结构实验课程 (课程编号)序号实验项目编号实验名称学时必做选做学分数实验类型内容提要基本操作验证综合设计1抽象数据类型的表示与实现2抽象数据类型的表示与实现2线性表实验4线性表的存储实现及有关应用3栈和队列实验6栈和队列的基本操作及其实现,以及典型应用举例4稀疏矩阵实验4稀疏矩阵的压缩存储5树和二叉树实验6树的两种种存储结构,及各种操作的算法实现(建立、遍历、线索化、最优二叉树)6图及其应用实验6图的两种基本存储结构,及各种操作的算法实现(建立、遍历、图的典型应用)7查找和排序实验4各种基本的查找和排序算法及其实现分析四、实验内容安排:实验一 抽象数据类型的表示与实现( 验证性实验 2 学时)1.目的要求:1) 熟悉类C语言的描述方法,学会将类C语言描述的算法转换为C源程序实现;2) 理解抽象数据类型的定义,编写完整的程序实现一个抽象数据类型(如三元组)。3) 认真阅读和掌握本实验的参考程序,上机运行程序,保存和打印出程序的运行结果,并结合程序进行分析。2. 实验内容:1)编程实现抽象数据类型三元组的定义、存储、基本操作(最大值、最小值、平均值等的求解),并设计一个主菜单完成各个功能的调用。3.主要仪器设备及药品1) PC机2) Turbo C 2.0 或Visual C+实验二 线性表实验( 验证性实验 4 学时)1.目的要求:1) 熟悉线性表的基本运算在两种存储结构(顺序结构和链式结构)上的实现;2)以线性表的各种操作(建立、插入、删除等)的实现为重点;3)通过本次实习帮助学生加深对高级语言C语言的使用(特别是函数参数、指针类型、链表的使用)。4) 认真阅读和掌握本实验的参考程序,上机运行本程序, 保存和打印出程序的运行结果,并结合程序进行分析。按照你对线性表的操作需要,重新改写主程序并运行,打印出文件清单和运行结果。3. 实验内容:1) 编程实现线性表两种存储结构中的基本操作的实现(线性表的创建、插入、删除和查找),并设计一个主菜单完成各个功能的调用。3.主要仪器设备及药品1) PC机2) Turbo C 2.0 或Visual C+实验三 栈、队列实验( 验证性试验 6 学时)1.目的要求:1) 掌握栈和队列这两种特殊的线性表,熟悉它们的特性,在实际问题背景下灵活运用它们。2) 本实验训练的要点是“栈”和“队列”的观点;2.实验内容:1) 利用栈,实现任一个表达式中的语法检查(如括号的匹配)。2) 编程实现队列在两种存储结构中的基本操作(队列的初始化、判队列空、入队列、出队列);3.主要仪器设备及药品1) PC机2) Turbo C 2.0 或Visual C+实验四 稀疏矩阵实验( 验证性 4 学时)1.目的要求:1) 掌握特殊矩阵的压缩存储表示,了解稀疏矩阵的三元表顺序表示及基本操作的实现。2.实验内容:1) 稀疏矩阵的三元组顺序表示方法及基本操作的实现(建立、输出、转置)并实现一个主菜单来实现。3.主要仪器设备及药品1) PC机2) Turbo C 2.0 或Visual C+实验五 树及二叉树实验( 验证性 、应用性 6 学时)1.目的要求:1) 树是一种重要的非线性数据结构,要求掌握二叉树的两种基本的存储结构,及各种操作的算法实现(建立、遍历)以及应用。2) 本实验训练的要点是:递归算法的设计方法以及二叉树的应用。2.实验内容:1) 按先序次序输入二叉树中结点的值,建立一棵以二叉链表作存储结构的二叉树,然后按先序、中序、后序顺序分别遍历这棵二叉树。2) 编写一个求二叉树叶子结点数的算法。3.主要仪器设备及药品1) PC机2) Turbo C 2.0 或Visual C+实验六 图及其应用实验( 验证性 6 学时)1.目的要求:1) 图是一种重要的非线性数据结构,要求掌握图的两种基本的存储结构(邻接矩阵、邻接表),以及图的基本算法实现(建立、深度优先遍历、广度优先遍历),并能运用图结构分析解决一些实际问题。2) 本实验训练的要点是:图的两种基本存储结构,及各种操作的算法实现(建立、遍历、图的典型应用)2.实验内容:1) 建立无向图和有向图的邻接矩阵存储,计算顶点的度,并按要求输出图的基本信息。2) 建立有向图的邻接表存储表示,并根据存储计算顶点的出度和入度,然后按照要求输出图的基本信息。3.主要仪器设备及药品1) PC机2) Turbo C 2.0 或Visual C+实验七 查找与排序实验( 验证性、综合性实验 6 学

温馨提示

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

评论

0/150

提交评论