数据结构教学内容和要求
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构》教学内容和要求
一、课程简介
1.课程性质、任务与目的
《数据结构》是计算机应用专业的一门专业基础课,主要任务是讨论各种数据结构的逻辑结构,存储结构及有关操作的算法。目的是使学生学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及相应的算法,并初步了解对算法的时间分析和空间分析技术。另一方面,通过对本课程算法设计和上机实践的训练,还应培养学生的数据抽象能力和程序设计的能力。
2.与其他课程的关系
《数据结构》的先修课主要是《C语言程序设计》,本课程将以C作为算法描述和上机实践的工具。同时,本课程又是软件开发与设计等方面课程的基础。
3.课程特点
《数据结构》是实践性很强的课程,不仅要学习基本理论知识,更要注重上机实践,通过上机实践验证算法的正确性,掌握和巩固所学理论知识。
4.教学要求
教学要求在每章教学内容之后给出,大体分为三个层次:理解、掌握和熟练掌握。它们的含义大致为:了解就是正确理解概念,掌握就是能够理解和分析现有知识,熟练掌握就是会运用所学知识解决实际问题。
二、教学基本要求
第1章 有关数据结构和算法分析的基本知识
[教学目的]:
向学生讲授有关数据、数据结构、抽象数据类型、面向对象思想的基本概念、算法及简单的算法分析
[教学的知识点]:
什么是数据结构
抽象数据类型及面向对象概念:数据类型;数据抽象与抽象数据类型;面向对象的概念;用于描述数据结构的语言
算法定义
性能分析与度量:算法的性能标准;算法的后期测试;算法的事前估计;空间复杂度度量;时间复杂度度量;时间复杂度的渐进表示法;渐进的空间复杂度
[教学要求]:
理解:数据结构基本概念
理解:抽象数据类型及面向对象概念
理解:算法的定义及算法的特性
掌握:算法的性能分析与度量方法
第2章 数组
[教学目的]:
向学生讲授数组抽象数据类型及利用数组实现的顺序表、字符串等数据结构的基本知识
[教学的知识点]:
作为抽象数据类型的数组:数组的定义和初始化;作为抽象数据类型的数组的相关操作的实现
顺序表:顺序表的定义和特点;顺序表的类定义;顺序表的查找、插入和删除;使用顺序表的事例
字符串:字符串的抽象数据类型;字符串操作的实现;字符串的简单模式匹配
[教学要求]:
理解:作为抽象数据类型的数组的定义
理解:顺序表的定义方式及实现
理解:字符串的定义及实现
第3章 链接表
[教学目的]:
向学生讲授链接表抽象数据类型(包括单链表、循环链表、双向链表)的、培养用链表实现并求解应用问题(如多项式操作)的应用能力。
[教学的知识点]:
单链表:单链表的结构;单链表的类定义;单链表中的插入与删除;带表头结点的单链表;用模板定义的单链表类;静态链表循环链表:循环链表的类定义;用循环链表解约瑟夫问题
多项式及其相加:多项式的类定义;多项式的加法
双向链表
[教学要求]:
掌握:单链表、循环链表及双向链表的定义及实现
理解:多项式类的定义及其加法运算
第4章 栈与队列
[教学目的]:
向学生讲授栈、队列、优先级队列等限制存取点的表的相关知识和提高学生应用它们解决应用问题的能力。
[教学的知识点]:
栈:栈的抽象数据类型;栈的顺序存储表示;栈的链接存储表示;栈的应用
队列 :队列的抽象数据类型;队列的顺序存储表示;队列的链接存储表示;队列的应用举例
优先级队列:优先级队列的定义;优先级队列的存储表示
[教学要求]:
理解:栈的定义及实现
掌握:表达式求值
理解:队列的定义及实现
理解:优先级队列的定义及链表实现算法
第5章 递归与广义表
[教学目的]:向学生讲授递归问题求解方法以及广义表的递归解法,培养应用递归方法求解应用问题的能力。
[教学的知识点]:
递归概念:递归的定义、递归的数据结构、递归问题的解法
递归过程与递归工作栈:递归过程实现的机制及递归工作栈的引用广义表:广义表的概念;广义表的表示及操作;广义表存储结构的实现;广义表的建立、访问、求深度、删除等算法
[教学要求]:
理解:递归的概念、递归问题的递归求解方法
理解:递归过程的机制与利用递归工作栈实现递归的方法
理解:广义表的定义及其实现方法
掌握:广义表的递归算法
第6章 树与森林
[教学目的]:
向学生讲授对树、二叉树等重要数据结构和特定的应用(如堆、霍夫曼树等)
[教学的知识点]:
树和森林的概念:树的定义;树的术语;树的抽象数据类型
二叉树:二叉树的定义;二叉树的性质;二叉树的抽象数据类型二叉树的表示:数组表示;链表存储表示
二叉树遍历:中序遍历;前序遍历;后序遍历;应用二叉树遍历的事例
线索化二叉树:线索;中序线索化二叉树;前序与后序的线索化堆:堆的定义;堆的建立;堆的插入与删除
树与森林:树的存储表示;森林与二叉树的转换;树的遍历;森林的遍历
二叉树的计数
霍夫曼树:路径长度;霍夫曼树;霍夫曼编码
[教学要求]:
理解:树和森林的概念
理解:二叉树的概念、性质及二叉树的表示
掌握:二叉树的遍历算法及其它应用算法
理解:线索化二叉树的特性及寻找某结点的前驱和后继的方法
掌握:堆的定义及其实现的方法,以及用来实现优先级队列的算法掌握:树与森林的实现和树的遍历算法
理解:二叉树的计数方法及从二叉树的前序和中序遍历结果得到二叉树的方法
掌握:霍夫曼树的实现方法及霍夫曼编码的概念
第7章 集合与搜索
[教学目的]:
向学生讲授集合结构、集合的应用、与集合相关的搜索方法和简单的性能分析方法
[教学的知识点]:
集合及其表示:集合基本概念;以集合为基础的抽象数据类型;用向量实现集合抽象数据类型;用有序链表实现集合的抽象数据类型并查集
简单的搜索结构:搜索的概念;静态搜索结构;顺序搜索;基于有序顺序表的折半搜索
二叉搜索树:定义;二叉搜索树上的搜索;二叉搜索树的插入;二叉搜索树的删除
AVL树:AVL树的定义;平衡化旋转;AVL树的插入和删除;AVL树的结点个数与高度的关系
[教学要求]: