计科数据结构教学大纲
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构》理论教学大纲
课程编号:404511043
课程中文名称:数据结构
课程英文名称:Data Structures
课程类别:专业基础必修课
总学时:84学时(其中理论48学时,实验16学时,课外20学时)
总学分:5
适用专业:计算机科学与技术
一、课程的性质、地位与任务
数据结构计算机科学与技术专业中一门重要的专业基础课程。当用计算机来解决实际问题时,就要涉及到数据的表示及数据的处理,而数据表示及数据处理正是数据结构课程的主要研究对象,通过这两方面内容的学习,为后续课程,特别是软件方面的课程打下了厚实的知识基础,同时也提供了必要的技能训练。因此,数据结构课程在计算机应用专业中具有举足轻重的作用。
本课程的任务是:在基础方面,要求学生掌握常用数据结构的基本概念及其不同的实现方法;在技能方面,通过系统学习能够在不同存储结构上实现不同的运算,并对算法设计的方式和技巧有所体会。
二、课程的基本要求
掌握重要数据结构的概念、使用方法及实现技术;学会做简单的算法分析,包括算法的时间代价和空间代价。
三、本课程与其他课程的联系
(1) 本课程先修课程 (高级语言程序设计 )
(2) 本课程的后续课程 ( 操作系统、数据库原理 )
四、教学内容、基本要求及学时安排
第一章概论
1.教学目的及要求
⑴领会数据、数据元素和数据项的概念及其相互间的关系;
⑵清楚数据结构的逻辑结构、存储结构的联系与区别,以及在数据结构上施加的运算及其实现;
⑶理解抽象数据类型的概念;
⑷掌握进行简单算法分析的方法。
2.教学重点
⑴数据、数据元素、数据项;
⑵逻辑结构和数据结构在概念上的联系与区别;
⑶运算的概念;
⑷存储结构及其三个组成部分;
⑸抽象数据类型和数据抽象;
⑹评价算法优劣的标准及方法。
3.教学难点
⑴区别算法与程序;
⑵逻辑结构、存储结构的联系与区别;
⑶抽象数据类型与数据抽象;
⑷算法的时间复杂度分析。
4.教学内容及进度安排 ( 4学时 )
1.1 数据结构的概念
1.2 抽象数据类型
1.3 算法和算法分析
第二章线性表
1.教学目的及要求
⑴理解线性表的定义及其运算;
⑵理解顺序表和链表的定义、组织形式、结构特征和类型说明;
⑶掌握在这两种表上实现的插入、删除和按值查找的算法;
⑷了解循环链表、双(循环)链表的结构特点和在其上施加的插入、删除等操作。
2.教学重点
⑴线性表的定义及逻辑上的特点;
⑵顺序表上插入、删除和定位运算的实现;
⑶单链表的结构特点及类型说明;
⑷头指针和头结点的作用及区别;
⑸指针操作;
⑹定位、删除、插入运算在单链表上的实现;
⑺循环链表、双链表的结构特点;
⑻循环链表、双链表上删除与插入运算的实现。
3.教学难点
⑴线性表与线性结构的联系与区别;
⑵头结点在链表中的作用;指针操作;
⑶删除、插入运算中的指针操作顺序;
⑷双链表上指针的操作顺序
4.教学内容及进度安排( 8学时)
2.1 线性表逻辑结构
2.2 线性表的顺序存储及运算实现
2.3 线性表的链式存储和实现
第三章栈和队列
1.教学目的及要求
⑴理解栈的定义、特征及在其上所定义的基本运算;
⑵掌握在两种存储结构上对栈所施加的基本运算的实现;
⑶理解队列的定义、特征及在其上所定义的基本运算;
⑷掌握在两种存储结构上对队列所施加的基本运算的实现。
2.教学重点
⑴栈的定义及逻辑特点;
⑵栈上的基本运算;
⑶栈的顺序存储结构及运算实现;
⑷栈的链式存储结构;
⑸入栈、出栈等运算在链栈上的实现;
⑹队列的定义及逻辑特点;
⑺队列上的基本运算;
⑻队列的顺序存储结构及其上的运算实现;
⑼队列的链式存储结构;
⑽入队、出队等运算在链队列上的实现。
3.教学难点
⑴顺序栈的溢出判断条件;
⑵循环队列的队空、队满判断条件;
⑶循环队列上的插入、删除操作。
4.教学内容及进度安排( 4学时)
3.1 栈
3.2 栈应用举例
3.3 队列
3.4 队列应用举例
第四章串
1.教学目的及要求
⑴了解串的定义;
⑵理解和领会串的存储方式;
⑶掌握常用的串运算。
2.教学重点
⑴串的基本概念、基本运算;
⑵串的两种存储方式。
⑶串的模式匹配算法。
3.教学难点
⑴串的模式匹配算法;
⑵串的基本运算的综合应用
4.教学内容及进度安排( 2学时)
4.1 串及其基本运算
4.2 串的定长顺序存储及基本运算
4.3 串的堆存储结构
第五章数组和广义表
1.教学目的及要求
⑴理解多维数组的结构特点和在内存中的两种顺序存储方式;
⑵理解并掌握矩阵和特殊矩阵元素在存储区中地址的计算;
⑶领会稀疏矩阵的压缩方式和简单运算;
⑷了解广义表的定义和基本运算。
2.教学重点
⑴多维数组的逻辑结构;
⑵多维组的两种顺序存储方式;
⑶计算给定元素在存储区中的地址;
⑷对称矩阵、三角矩阵的压缩存储方式;
⑸计算给定元素在存储区中的地址;
⑹稀疏矩阵的三元组表表示方法。
3.教学难点
稀疏矩阵的压缩存储表示下的运算的实现
4.教学内容及进度安排( 4学时)
5.1 多维数组
5.2 特殊矩阵的压缩存储
5.3 稀疏矩阵
5.4 广义表
第六章树与二叉树