欢迎来到天天文库
浏览记录
ID:41948945
大小:61.50 KB
页数:4页
时间:2019-09-04
《《数据结构实验》教学大纲》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《数据结构实验》教学大纲一、实验课名称:数据结构实验ExperimentsforDataStructures二、实验课性质:独立设课,专业基础必修课三、适用专业:数学与应用数学;信息与计算科学;统计学四、采用教材及参考书:1.严蔚帧,吴伟民等.数据结构题集(C语言版).北京:清华大学出版社,1999.2.严蔚帧,吴伟民•数据结构(C语言版).北京:清华大学出版社,1997・3.高一凡.数据结构算法实现及解析.陕西:西安电子科技大学出版社,2004.4.徐孝凯.数据结构课程实验.北京:清华大学出版社,2002.五、学时学分:课程总学时:
2、36;课程总学分:1;实验课总学时:36六、实验项目名称和学时分配:序号实验项目名称学时分配实验属性实验类型实验者类别每组人数必开/选开1C语言复习;抽象数据类型的实现3〜6基础验证本科生1必开2线性表的基木操作6~9基础验证木科生1必开3栈和队列及其应用6〜9基础验证本科生1必开4二叉树的建立及应用6〜9基础验证本科生1必开*5图的建立及应用3技术验证本科生1选开6杳找算法的实现3〜6技术综合本科牛1必开7内排序算法的实现3技术验证本科生1必开*8综合实验机动专业综合木科丫1选开七、实验教学的目的和要求:计算机编程中加工处理的対象是
3、数据,而数据具有一定的组织结构,所以学习编写计算机程序仅仅了解计算机语言是不够的,还必须掌握数据组织、存储和运算的一般方法,这是数据结构课程中学习和研究的内容。山于数据结构的原理和算法较抽象,而该课程一般在本科低年级开设,对于计算机程序设计知识的初学者,理解和掌握其中的原理就显得较为闲难,需要加强实践教学。具体要求如下:1.熟练掌握C语言的编辑、编译、调试程序;2.会书写类C语言的算法,并将算法转变为程序实现;3.针対不同的问题选择合适的数据结构,提高算法设计的能力和动手实验的技能;1.学会分析研究计算机加工的数据结构的特性,以便为应
4、用涉及的数据选择适当的逻辑结构、存储结构及其相应的算法,并初步掌握算法的时间分析和空间分析的技术;2.编写的程序结构清址、正确易读,符合软件工程的规范。八、实验项目的内容和要求:实验一:抽象数据类型的实现内容:将类C语言描述的算法转换成C源程序上机调试并通过。要求:1)熟悉类C语言的书写规范,复习高级程序设计语言及模块化程序设计的方法(特别是函数的定义和调川),学会分析棊木的算法时间复杂度和空间复杂度;2)了解抽彖数据类型的定义、表示和实现方法,会利用高级语言中已存在的数据类型來说明新的结构,用已经实现的操作來组合新的操作;3)加深理
5、解数据的逻辑结构和物理结构。实验二:线性表的基本操作内容:在不同的存储结构(顺序结构和链式结构),实现线性表的基本操作。要求:1)熟练掌握线性表的基本操作在顺序存储和链式存储上的实现;2)以线性表的各种操作(初始化、建立、插入、删除、遍历等)的实现为重点;3)进一步熟练C语言的使用(特别是指针和链表的使用);4)能在实际问题背景下恰当选择顺序存储和链式存储。实验三:栈和队列及其应用内容:顺序栈和不带头结点的链栈的基本操作实现;循环队列和链队列的基本操作实现。要求:1)熟练掌握栈和队列这两种特殊的线性表,熟悉它们的特性以及实现方法;2)
6、能够在两种存储结构上完成栈和队列基本操作的算法实现,重点是顺序栈、链队列。3)能在实际问题背景下灵活运用栈和队列。实验四:二叉树的建立及应用内容:二叉树的各种操作在二叉链表上的算法实现;线索二叉树。要求:1)熟练掌握二叉树的基本概念和其基本操作在二叉链表存储结构上的实现;2)重点掌握二叉树的生成、遍历及求深度、求结点数等算法;3)掌握运用递归方式描述算法及编写递归C程序的方法,提高算法分析和程序设计能力;*4)了解二叉树的线索化及线索二叉树的遍历算法。*实验五:图的建立及应用(选开)内容:图的各种存储结构,基本操作和儿个常用算法的实现
7、。要求:1)掌握图的邻接矩阵和邻接表的存储方式;2)实现图的一些基本运算,特别是深度优先遍历和广度优先遍历;3)了解以图为基础的一•些常用算法,如最小牛•成树、拓扑排序、最短路径等。实验六:查找算法的实现内容:各种查找算法的思想和实现,散列技术。要求:1)熟练掌握各种静态查找表的查找算法(顺序查找法、折半查找法);2)掌握动态查找表——二义排序树的构造方法和查找算法,了解二叉平衡树的建立和维护平衡的方法;*3)掌握哈希表的构造方法,理解哈希表与-其它结构查找表的实质差别;4)会计算各种查找方法在等概率悄况下查找成功时的平均查找长度。实
8、验七:内排序算法的实现内容:各种内部排序算法的思想和实现。要求:1)熟练掌握各种排序的算法思想、方法及稳定性;2)对已知一组数据,能写出其具体的排序过程、算法及完整程序;3)会分析每一种排序的时间及空间复杂度,理解开发高
此文档下载收益归作者所有