数据结构-教学大纲

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

江苏大学教学大纲

数据结构A

(Data Structures A)

课程编号: 06311360

学分: 5.0

学时: 75 (其中:讲课学时:60 实验学时:0 上机学时:15)

先修课程:离散数学、程序设计基础、面向对象程序设计

适用专业:计算机科学与技术

教材:《数据结构—C++实现(第二版)》,缪淮扣等,科学出版社,2014年第二版

开课学院:计算机科学与通信工程学院

一、课程目标

《数据结构A》在计算机科学中是一门综合性的专业基础课,不仅是一般程序设计的基础,而且是设计和实现操作系统、数据库系统、编译程序及其它系统程序和大型应用程序的重要基础。本课程讨论各种数据组织中的数据的逻辑结构、存储结构以及有关操作的算法。目的是使学生学会分析研究计算机所要加工处理的数据的特征,掌握组织数据、存储数据和处理数据的基本方法,并加强在实际应用中选择合适的数据结构和设计相应算法的训练,课程的具体目标如下:

1. 知识方面

1.1理解数据结构的一些基本概念、理解并掌握算法的描述方法,理解并掌握算法的时间复杂度和空间复杂度的概念以及分析方法。

1.2理解各种数据结构的基本概念,深刻理解各种数据结构的逻辑特性,理解并熟练掌握各种数据结构的存储表示方法,理解并掌握在各种数据结构基础上的算法设计与描述,并理解和掌握对算法性能进行分析的方法以及分析结果。

1.3理解查找、排序的基本概念,掌握各种查找、排序方法及其算法描述和性能分析方法和分析结果。

2. 能力与素质方面

2.1 具备依据工程实际问题的需求合理地组织数据,并在计算机中有效地存储数据的能力。

2.2 具备为解决工程实际问题进行算法设计与分析的能力。

2.3 具备将算法通过具体的编程语言加以实现的能力。

二、课程目标与专业毕业要求指标点的对应关系

指标点2.3:具备将工程基础知识用于计算机领域复杂工程问题进行求解的能力。

指标点3.1:具备对计算机领域复杂工程问题进行识别和有效分解的能力。

指标点3.2:具备对分解后的计算机领域复杂工程问题进行表达与建模的能力。

指标点6.3:理解离散结构、计算模型在计算机问题求解中的意义与基本运用。

三、课程内容及要求

第一章绪论

本章支持课程目标:1.1理解数据结构的一些基本概念、理解并掌握算法的描述方法,理解并掌握算法的时间复杂度和空间复杂度的概念以及分析方法。

(一)教学内容与教学方法

1. 数据结构的一些基本概念:数据、数据元素、数据逻辑结构、数据

存储结构、数据类型、算法等。(讲授)

2. 算法时间复杂度和空间复杂度的分析。(讲授)

(二)知识、能力与素质等方面的基本要求

1. 了解本课程的性质、任务和目的。

2. 掌握数据结构的一些基本概念。

3. 具有对算法的时间复杂度和空间复杂度进行分析的能力。

4. 了解算法的描述方法。

(三)重点与难点

1. 重点

数据、数据元素、数据项;逻辑结构和存储结构在概念上的联系与区别;评价算法优

劣的标准及方法。

2. 难点

算法与程序的区别;逻辑结构、存储结构的联系与区别;算法的时间复杂度分析方法。

第二章线性表

本章支持课程目标:1.2理解各种数据结构的基本概念,深刻理解各种数据结构的逻辑特性,理解并熟练掌握各种数据结构的存储表示方法,理解并掌握在各种数据结构基础上的算法设计与描述,并理解和掌握对算法性能进行分析的方法以及分析结果;2.1 具备依据工程问题的需求合理地组织数据,并在计算机中有效地存储数据的能力;2.2 根据数据结构的基本概念、原理和方法,具备算法设计与分析的能力;2.3 具备将算法通过具体的编程语言加以实现的能力。

(一)教学内容与教学方法

1. 线性表的基本概念和类型定义。(讲授)

2. 线性表的顺序存储表示及基本操作的实现。(讲授+演示)

3. 线性表的链式存储表示及基本操作的实现(单链表、循环链表、双

向链表、静态链表)。(讲授+演示)

4. 一元多项式的表示及相加。(讲授+演示)

(二)知识、能力与素质等方面的基本要求

1. 掌握线性表的基本概念和类型定义。

2. 熟练掌握顺序表和单链表上的基本操作方法及其算法实现能力。

3. 掌握循环链表和双向链表的定义和它的插入、删除等操作方法。

4. 了解一元多项式的表示及相加运算。

(三)重点与难点

1. 重点

顺序表和链式表(单链表、双向链表)的基本操作。

2. 难点

链式表(单链表、双向链表)的基本操作以及一元多项式的相加运算。

第三章栈和队列

本章支持课程目标:1.2理解各种数据结构的基本概念,深刻理解各种数据结构的逻辑特性,理解并熟练掌握各种数据结构的存储表示方法,理解并掌握在各种数据结构基础上的算法设计与描述,并理解和掌握对算法性能进行分析的方法以及分析结果;2.1 具备依据工程问题的需求合理地组织数据,并在计算机中有效地存储数据的能力;2.2 根据数据结构的基本概念、原理和方法,具备算法设计与分析的能力;2.3 具备将算法通过具体的编程语言加以实现的能力。

(一)教学内容与教学方法

1. 栈的定义,栈的顺序存储表示、链式存储表示及基本操作的实现,

栈的应用(表达式计算)。(讲授+案例+演示)

2. 队列的定义,队列的顺序存储表示(循环队列)、链式存储表示(链

队列)及基本操作的实现。(讲授+案例+演示)

3. 递归。

(二)知识、能力与素质等方面的基本要求

1. 掌握栈和队列的定义。

2. 熟练掌握顺序存储表示及链式存储表示的栈和队列的基本操作的

方法以及算法实现。

3. 掌握表达式求值等方法,具有利用栈求解后缀表达式、将中缀表达

式转换成后缀表达式的能力。

4. 了解递归的概念。

(三)重点与难点

1. 重点

栈和队列的顺序存储表示、链式存储表示及基本操作的实现。

2. 难点

顺序栈的溢出判断条件;循环队列的队空、队满判断条件;递归。

第四章串、数组和广义表

本章支持课程目标:1.2理解各种数据结构的基本概念,深刻理解各种数据结构的逻辑特性,理解并熟练掌握各种数据结构的存储表示方法,理解并掌握在各种数据结构基础上的算法设计与描述,并理解和掌握对算法性能进行分析的方法以及分析结果;2.1 具备依据工程问题的需求合理地组织数据,并在计算机中有效地存储数据的能力;2.2 根据数据结构的基本概念、原理和方法,具备算法设计与分析的能力。

(一)教学内容与教学方法

1. 串的基本概念。(讲授)

2. 数组的定义以及顺序存储结构。(讲授)

3. 特殊矩阵和稀疏矩阵的定义、存储和操作。(讲授+演示)

相关文档
最新文档