《数据结构》课程教学大纲(计算机)
- 格式:doc
- 大小:131.00 KB
- 文档页数:14
《数据结构》课程教学大纲
一、课程基本信息
二、课程教学目标
本课程介绍软件设计中常用的线性表、栈、队列、串、数组、广义表、树、二叉树、图结构等几种基本的数据结构及其存储结构和所施加的运算与实现等。另外,还介绍软件设计中常用的几种查找和排序算法,以及递归技术等,在介绍各项内容的同时,还涉及到算法设计与分析的基本技术和面向对象程序设计的理论与技术等内容。
通过本课程的学习,达到以下目标:
熟练掌握上述结构及其运算的实现和性能特点,
掌握各种排序和查找运算以及递归技术,
能对给定的实际问题,建立准确的问题模型,设计有效的问题求解方法,选择合理的数据结构及其运算集,设计有效的算法。
三、教学学时分配
《数据结构》课程理论教学学时分配表
*理论学时包括讨论、习题课等学时。
《数据结构》课程实验内容设置与教学要求一览表
四、教学内容和教学要求
第一章绪论(2学时)
(一)教学要求
1.了解数据结构的各种基本概念和术语;
2.了解数据类型和抽象数据类型的概念;
3.理解算法的设计目标;
4.掌握算法的时间复杂度概念和算法的时间复杂度分析方法。
(二)教学重点与难点
教学重点:数据结构的逻辑结构、存储结构及数据的运算三方面的概念及相互关系
教学难点:算法复杂度的分析方法。
(三)教学内容
第一节什么是数据结构
1.数据结构的定义
2.逻辑结构类型
3.存储结构类型
4.数据结构和数据类型
第二节算法及其描述
1.什么是算法
2.算法描述
第三节算法分析
1.算法设计的目标
2.算法效率分析
3.算法存储空间分析
本章习题要点:基本概念、算法复杂度的分析方法
第二章线性表(10学时)
(一)教学要求
1.理解线性表的逻辑结构和基本操作;
2.理解线性表的顺序存储结构和实现方法;
3.理解线性表的链式存储结构和实现方法;
4.了解单循环链表和双向链表的概念和插入、删除等操作方法。
(二)教学重点与难点
教学重点:顺序表和单链表上实现的各种基本算法及相关的时间性能分析。
教学难点:链表本质及其操作的实现算法、线性表相关的应用。
(三)教学内容
第一节线性表
1.线性表的定义
2.线性表的抽象数据类型描述
第二节线性表的顺序存储结构
1.线性表的顺序存储结构——顺序表
2.顺序表基本运算的实现
第三节线性表的链式存储结构
1.线性表的链式存储结构——链表
2.单链表基本运算的实现
3.双链表
4.循环链表
本章习题要点:
第三章栈和队列(12学时)
(一)教学要求
1.理解栈的定义、特征及在其上所定义的基本运算;
2.掌握在两种存储结构上对栈所施加的基本运算的实现;
3.了解数制转换、括号匹配、表达式运算、迷宫等几种栈的典型应用;
4.理解队列的定义、特征及在其上所定义的基本运算;
5.掌握在两种存储结构上对队列所施加的基本运算的实现。
(二)教学重点与难点
教学重点:栈和队列在两种存储结构上实现的基本运算。
教学难点:栈与递归过程的实现,循环队列中对边界条件的处理。
(三)教学内容
第一节栈
1.栈的定义
2.栈的顺序存储结构及其基本运算实现
3.栈的链式存储结构及其基本运算的实现
4.栈的应用举例
第二节队列
1.队列的定义
2.队列的顺序存储结构及其基本运算的实现
3.队列的链式存储结构及其基本运算的实现
4.队列的应用举例
本章习题要点:栈和队列的基本运算的实现
第四章串(5学时)
(一)教学要求
1.掌握串的定义、存储及串的比较、求子串、连接、赋值等基本运算;
2.了解基本的串模式匹配算法和KMP匹配算法。
(二)教学重点与难点
教学重点:串的定义及基本运算,串的模式匹配算法。
教学难点:KMP模式匹配方法。
(三)教学内容
第一节串的基本概念
第二节串的存储结构
1.串的顺序存储结构——顺序串
2.串的链式存储结构——链串
第三节串的模式匹配
1.Brute Force算法
2.KMP算法
本章习题要点:
第五章数组和广义表(3学时)
(一)教学要求
1.掌握数组的定义及数组元素的存储方式;
2.掌握特殊矩阵的压缩存储及运算;
3.了解稀疏矩阵的三元组表、理解以三元组表示稀疏矩阵时进行矩阵运算采用的处理方法;
4.了解广义表的定义、存储和基本运算。
(二)教学重点与难点
教学重点:多维数组的存储方式、矩阵的压缩存储方式。
教学难点:稀疏矩阵的压缩存储表示下实现的算法。
(三)教学内容
第一节数组
1.数组的基本概念
2.数组的存储结构
3.特殊矩阵的压缩存储
第二节稀疏矩阵
1.稀疏矩阵的三元组表示
2.稀疏矩阵的十字链表表示
第三节广义表
1.广义表的定义
2.广义表的存储结构