《数据结构》课程教学大纲-南阳理工学院--计算机与信息工程学院网络
《数据结构》课程教学大纲
DATA STRUCTURE
适用范围:2011本科人才培养方案
课程代码:0601108010
学 分 数:3
学 时 数:总学时48(理论 40 实验 8 习题 讲座 讨论 实习 )
先修课程:程序设计语言
适用专业:计算机,信息安全方向
建议教材:《数据结构》严蔚敏 清华大学出版社
开课单位:计算机与信息工程学院
一、课程性质和任务
课程性质:本课程是计算机科学与技术及其相关专业的重要基础技术课程,是操作系统、数据库原理、编译原理、软件工程、人工智能等课程的基础。数据结构技术广泛应用于信息科学、系统工程、应用数学以及各种工程技术领域。
课程任务:通过讨论数据的各种逻辑结构、物理结构以及相关算法,使学生能根据实际问题的需要选择合适的数据结构和设计算法,并为学习数据库、操作系统等后继课程打下基础。写明该课程在人才培养方案中的地位和作用,学生通过学习该课程后,应具备的知识和应达到的专业能力等教学目标。
二、课程的基本内容及要求
第1章 绪论
1.课程教学内容
(1)基本概念和术语
(2)抽象数据类型的定义、表示和实现方法
(3)描述算法的类C语言简介
(4)算法和算法分析
2.课程重点
四种基本的数据结构类型和时间复杂度的分析。
3.课程难点
数据结构的定义及这门课的知识体系,并了解数据结构和算法的有关问题。
4. 课程教学要求
(1) 了解数据结构的研究内容和方向。
(2) 理解数据结构的定义和基本术语。
(3) 掌握各种基本术语的含义、区别与联系。
(4) 掌握基本的数据结构类型和它们的主要特点,并能举例。
(5) 掌握计算语句频度和估算算法时间复杂度的方法。
第2章 线性表
1.课程教学内容
(1)线性表的类型定义
(2)线性表的顺序表示和实现
(3)线性表的链式表示和实现
(4)一元多项式的表示及相加
2.课程重点
两种存储结构的数据类型定义。单链表的结点结构定义,循环链表的几种基本操作。
3.课程难点
线性数据结构的存储和处理以及应用。
4. 课程教学要求
(1)掌握线性表的逻辑结构特性。
(2)熟练掌握线性表的两种不同存储结构(顺序存储结构和链式存储结构)的描述方法和各种基本操作的算法。
(3)掌握单链表和循环链表。
第3章 栈和队列
1.课程教学内容
(1)栈及其抽象数据类型
(2)栈的实现
(3)栈的应用
(4)队列
(5)队列的实现
2.课程重点
两种存储结构的数据类型定义。单链表的结点结构定义,循环链表的几种基本操作。
3.课程难点
栈和队列和处理以及应用。
4. 课程教学要求
(1)了解栈和队列的结构特点及其两种存储结构。
(2)掌握栈和队列在两种存储结构下实现基本操作的算法。
(3)熟练掌握栈的链式存储结构和循环队列。
第4章 串
1.课程教学内容
(1)字符串及其抽象数据类型
(2)字符串基本操作
(3)模式匹配算法
2.课程重点
串的压缩存储和串变量的存储映象。串的模式匹配算法(KMP算法)
3.课程难点
串的基本操作和实际应用。
4. 课程教学要求
(1)了解串的概念及其基本操作。
(2)了解串的两种存储结构并掌握实现串的各种基本操作。
(3)理解串的模式匹配算法(KMP算法)。
第5章 数组和广义表
1.课程教学内容
(1)一维及二维数组的表示法
(2)稀疏矩阵的转置
(3)数组的应用
2.课程重点
数组在以行为主的存储结构中的地址计算方法,矩阵实现压缩存储时的下标变换,以三元组表示稀疏矩阵时进行运算采用的处理方法,广义表的定义及其存储结构,广义表的表头,表尾分析方法,编制广义表的递归算法。
3.课程难点
三元组表示稀疏矩阵时进行运算采用的处理方法,广义表的递归算法。
4. 课程教学要求
(1)掌握数组的定义、运算。
(2)掌握数组的顺序存储结构。
(3)掌握特殊矩阵的压缩、存储和处理与稀疏矩阵的三元组表示和在该存储结构下的矩阵运算。
(4)掌握广义表的定义、存储结构和基本操作。
第6章 树和二叉树
1.课程教学内容
(1)树的定义和基本结构
(2)二叉树
(3)遍历二叉树和线索二叉树
(4)哈夫曼树及其应用
2.课程重点
二叉树的各种存储结构的特点及适用范围,按各种次序遍历二叉树的递归和非递归算法,二叉树的线索化,树的各种存储结构及其特点,编写树的各种运算的算法,建立最优二叉树和哈夫曼编码的方法。
3.课程难点
二叉树的性质,建立最优二叉树和哈夫曼编码的方法。
4. 课程教学要求
(1)理解树结构的定义、