[数据结构]教学大纲

《数据结构》教学大纲

Data Structure

课程编号:J6110G0003 课程性质:学科基础课程

适用专业:计算机科学与技术、网络工程、数字媒体技术 先行课:计算机科学导论、离散数学、高级语言程序设计; 后续课:无 。 学分数:5

主讲教师:任燕、王命延、冯豫华、周石林、王玮立等

一、课程的目的与任务

数据结构是信息与计算科学专业中一门重要的专业基础课程。当用计算机来解决实际问题时,就要涉及到数据的表示及数据的处理,而数据表示及数据处理正是数据结构课程的主要研究对象,通过这两方面内容的学习,为后续软件方面的课程打下了厚实的知识基础,同时也提供了必要的技能训练。因此,数据结构课程在计算机应用专业中具有举足轻重的作用。

本课程的目的是使学生掌握数据组织、存储和处理的常用方法,为以后进行软件开发和学习后续专业课程打下基础。主要任务是讨论现实世界中数据的各种逻辑结构,在计算机中的存储结构以及进行各种非数值运算的算法。

本课程达到《认证通用标准》规定中关于“毕业要求”的第三款项(具有运用工程基础知识和本专业基本理论知识解决问题的能力,具有系统的工程实践学习经历;了解本专业的前沿发展现状和趋势)、第四款项(具备设计和实施工程实验的能力,并能够对实验结果进行分析)。

二、课程的基本要求

通过本课程的学习,要求学生了解数据结构及其分类、数据结构与算法的密切关系; 熟悉各种基本数据结构及其操作,学会根据实际问题要求来选择数据结构;掌握设计算法的步骤和算法分析方法; 掌握数据结构在排序、查找和路由选择等常用算法中的应用。

最后学生应达到知识技能两方面的目标:在基础方面,要求学生掌握常用数据结构的基本概念及其不同的实现方法;在技能方面,通过系统学习能够在不同存储结构上实现不同的运算,并对算法设计的方式和技巧有所体会。

三、课程教学内容

第一章 绪论

基本要求:

掌握数据结构的基本概念,抽象数据类型在软件设计中的意义,算法的概念和算法的时间复杂度分析,了解算法的描述和评价。 基本知识点:

数据结构的基本概念;

● 算法特性、描述;

● 算法分析:时间复杂度和空间复杂度; 教学重点:

● 数据结构的基本概念;

● 算法分析:时间复杂度和空间复杂度; 实验:

实验1: 对某一组数据排序, 采用不同的算法定义与实现,并进行算法分析。 习题课安排:

安排一次课下习题, 并进行一次课堂讲解.

第二章 线性表

教学要求:

理解线性表的定义和线性表基本操作的功能;掌握线性表的顺序和链式存储结构;掌握顺序表的设计及应用;掌握单链表的设计及应用。掌握两种存储结构的实现及优缺点。 基本知识点:

● 线性表的类型定义:概念、长度、抽象数据类型定义,基本操作的应用; ● 线性表的顺序存储结构、构造一个空的线性表、线性表的插入操作、线性表的删除

操作、线性表的查找、线性表的合并,插入、删除算法的算法分析;

● 线性表的链式实现、返回线性表第i 个数据元素的值、在线性表第i 个位置之前插

入元素e 、在带头结点的线性表L 中删除第i 个元素、链表的合并; ● 静态链表、循环链表、双向链表;

教学重点:

● 线性表的定义和抽象数据类型;顺序和链式存储结构;顺序表的设计;单链表的设计,

算法分析。

实验:

实验2:顺序表的基本操作 实验3:单链表的基本操作

实验4:双向链表或循环链表的基本操作 习题课安排:

安排两次次课下习题, 并进行一到两次课堂讲解.

第三章 栈和队列

教学要求:

理解堆栈的概念,掌握顺序堆栈和链式堆栈的设计方法;理解队列的概念,掌握顺序循环队列和链式队列的设计方法;了解堆栈和队列的应用方法,掌握堆栈和队列的基本应用。 基本知识点:

● 堆栈的基本概念、堆栈的抽象数据类型定义、 ● 堆栈的顺序表示和实现、堆栈的链式表示和实现;

● 堆栈应用(数制转换问题、括号匹配问题等、表达式求值、栈与递归的实现等); ● 队列的基本概念、队列的抽象数据类型定义、 ● 顺序队列、顺序循环队列、链式队列、队列应用。 教学重点:

● 顺序堆栈和链式堆栈的设计方法;顺序循环队列和链式队列的设计方法。

实验:

实验5:栈的基本操作

实验6:队列的基本操作 习题课安排:

安排一次课下习题, 并进行一次课堂讲解.

第四章 串

教学要求:

掌握串及其基本概念;理解串的存储结构及串基本操作的实现;了解串的模式匹配算法; 基本知识点:

● 串的定义和基本运算;

● 串的存储表示及基本运算的实现; 教学重点:

● 串的存储结构; 实验:

实验7:串的基本操作

第五章 数组

教学要求:

掌握数组的定义及其实现机制;了解数组的抽象数据类型;掌握特殊矩阵的压缩存储和稀疏矩阵的压缩存储;了解广义表的概念和表示。 基本知识点:

● 数组的定义及其实现机制;

● 特殊矩阵(包括n 阶对称矩阵、n 阶三角矩阵)的压缩存储方法; ● 稀疏矩阵的压缩存储方法:三元组顺序表、三元组链表。 ● 广义表的概念和表示。 教学重点:

● 特殊矩阵的压缩存储; ● 稀疏矩阵的压缩存储。 实验:

实验8:数组的三元组实现和逆置. 习题课安排:

安排一次课下习题, 并进行一次课堂讲解.

第六章 树

教学要求:

理解树与二叉树的基本概念,掌握二叉树的性质与存储结构;掌握二叉树的遍历算法和二叉树问题的遍历算法设计分析和实现. 基本知识点:

● 树的定义;

● 二叉树的定义及性质; ● 二叉树的存储结构; ● 二叉树的遍历; ● 树的存储;

● 数、森林与二叉数的转换; ● 最优二叉树的构造;

教学重点:

● 二叉树的先序遍历、中序遍历、后序遍历和层次遍历。 实验:

实验9:二叉树的遍历 实验10:哈夫曼树

实验11:二叉树的应用 习题课安排:

安排二次课下习题, 并进行一到两次课堂讲解.

第七章 图

教学要求:

了解图的基本概念和术语;掌握图的邻接矩阵和邻接表存储结构以及图操作的实现方法;理解图的深度和广度遍历方法和算法设计方法;理解最小生成树的概念、普里姆算法和克鲁斯卡尔算法;了解最短路径问题的基本概念和从一个结点到其余各结点最短路径的算法。

基本知识点:

● 图的基本运算的定义 ● 图的存储结构 ● 图的遍历算法

● 如何得到图的最小生成树以及构造最小生成树的算法 ● 拓扑排序和AOV 网(顶点表示活动的有向网) ● 关键路径问题和AOE 网(边表示活动的有向网)

● 单源最短路径——迪杰斯特拉(Dijkstra)算法和每对顶点间的最短路径——弗洛伊德

(Floyd )算法

教学重点:图的邻接矩阵和图的邻接表存储结构;图的深度和广度遍历方法;普里姆算法和克鲁斯卡尔算法。 教学难点:

● 操作的实现方法 实验:

实验12:图的创建和遍历 习题课安排:

安排一次课下习题, 并进行一次课堂讲解.

第九章 查找

教学要求:

掌握各种查找算法的特点、代码实现及应用范围;能应用各种查找算法解决实际问题。 基本知识点:

● 顺序查找算法; ● 折半查找算法; ● 索引查找的算法; ● 哈希表。 教学重点:

● 顺序查找算法和折半查找算法; ● 索引查找的算法。

● 哈希表 实验:

实验13:查找算法的实现 习题课安排:

安排一次课下习题.

第十章 排序

教学要求:

掌握排序的基本概念和排序算法的评判标准;掌握直接插入排序、希尔排序、直接选择排序、堆排序、快速排序、二路归并排序、基数排序的算法思想。

基本知识点:

● 直接插入排序及其性能分析; ● 冒泡排序及其性能分析; ● 简单选择排序及其性能分析; ● 快速排序及其性能分析。

● 希尔排序、堆排序、二路归并排序和基数排序的算法思想. 教学重点:

希尔排序、堆排序、快速排序、二路归并排序和基数排序的算法思想。. 实验:

实验14:排序算法的实现 习题课安排:

安排一次课下习题, 并进行一次课堂讲解.

四、课程学时分配

平时考评(学生出勤考评, 学生交作业情况考评) 占20%

期中考试(随堂考试) 占20% 期末考试(闭卷考试) 占60%

六、选用教材及参考资料(与考试大纲一致)

教材:1.任燕主编《数据结构 C++语言描述》,清华大学出版社,2011年 2. 严蔚敏 《数据结构(C 语言版)》清华大学出版社出版 实验教材:

1、任燕主编《数据结构上机实验指导 C++语言描述》,清华大学出版社,2011年 2、系自制的实验指导

七、教学大纲编制说明

大纲起草人: 冯豫华 教研室审核人:

《数据结构》教学大纲

Data Structure

课程编号:J6110G0003 课程性质:学科基础课程

适用专业:计算机科学与技术、网络工程、数字媒体技术 先行课:计算机科学导论、离散数学、高级语言程序设计; 后续课:无 。 学分数:5

主讲教师:任燕、王命延、冯豫华、周石林、王玮立等

一、课程的目的与任务

数据结构是信息与计算科学专业中一门重要的专业基础课程。当用计算机来解决实际问题时,就要涉及到数据的表示及数据的处理,而数据表示及数据处理正是数据结构课程的主要研究对象,通过这两方面内容的学习,为后续软件方面的课程打下了厚实的知识基础,同时也提供了必要的技能训练。因此,数据结构课程在计算机应用专业中具有举足轻重的作用。

本课程的目的是使学生掌握数据组织、存储和处理的常用方法,为以后进行软件开发和学习后续专业课程打下基础。主要任务是讨论现实世界中数据的各种逻辑结构,在计算机中的存储结构以及进行各种非数值运算的算法。

本课程达到《认证通用标准》规定中关于“毕业要求”的第三款项(具有运用工程基础知识和本专业基本理论知识解决问题的能力,具有系统的工程实践学习经历;了解本专业的前沿发展现状和趋势)、第四款项(具备设计和实施工程实验的能力,并能够对实验结果进行分析)。

二、课程的基本要求

通过本课程的学习,要求学生了解数据结构及其分类、数据结构与算法的密切关系; 熟悉各种基本数据结构及其操作,学会根据实际问题要求来选择数据结构;掌握设计算法的步骤和算法分析方法; 掌握数据结构在排序、查找和路由选择等常用算法中的应用。

最后学生应达到知识技能两方面的目标:在基础方面,要求学生掌握常用数据结构的基本概念及其不同的实现方法;在技能方面,通过系统学习能够在不同存储结构上实现不同的运算,并对算法设计的方式和技巧有所体会。

三、课程教学内容

第一章 绪论

基本要求:

掌握数据结构的基本概念,抽象数据类型在软件设计中的意义,算法的概念和算法的时间复杂度分析,了解算法的描述和评价。 基本知识点:

数据结构的基本概念;

● 算法特性、描述;

● 算法分析:时间复杂度和空间复杂度; 教学重点:

● 数据结构的基本概念;

● 算法分析:时间复杂度和空间复杂度; 实验:

实验1: 对某一组数据排序, 采用不同的算法定义与实现,并进行算法分析。 习题课安排:

安排一次课下习题, 并进行一次课堂讲解.

第二章 线性表

教学要求:

理解线性表的定义和线性表基本操作的功能;掌握线性表的顺序和链式存储结构;掌握顺序表的设计及应用;掌握单链表的设计及应用。掌握两种存储结构的实现及优缺点。 基本知识点:

● 线性表的类型定义:概念、长度、抽象数据类型定义,基本操作的应用; ● 线性表的顺序存储结构、构造一个空的线性表、线性表的插入操作、线性表的删除

操作、线性表的查找、线性表的合并,插入、删除算法的算法分析;

● 线性表的链式实现、返回线性表第i 个数据元素的值、在线性表第i 个位置之前插

入元素e 、在带头结点的线性表L 中删除第i 个元素、链表的合并; ● 静态链表、循环链表、双向链表;

教学重点:

● 线性表的定义和抽象数据类型;顺序和链式存储结构;顺序表的设计;单链表的设计,

算法分析。

实验:

实验2:顺序表的基本操作 实验3:单链表的基本操作

实验4:双向链表或循环链表的基本操作 习题课安排:

安排两次次课下习题, 并进行一到两次课堂讲解.

第三章 栈和队列

教学要求:

理解堆栈的概念,掌握顺序堆栈和链式堆栈的设计方法;理解队列的概念,掌握顺序循环队列和链式队列的设计方法;了解堆栈和队列的应用方法,掌握堆栈和队列的基本应用。 基本知识点:

● 堆栈的基本概念、堆栈的抽象数据类型定义、 ● 堆栈的顺序表示和实现、堆栈的链式表示和实现;

● 堆栈应用(数制转换问题、括号匹配问题等、表达式求值、栈与递归的实现等); ● 队列的基本概念、队列的抽象数据类型定义、 ● 顺序队列、顺序循环队列、链式队列、队列应用。 教学重点:

● 顺序堆栈和链式堆栈的设计方法;顺序循环队列和链式队列的设计方法。

实验:

实验5:栈的基本操作

实验6:队列的基本操作 习题课安排:

安排一次课下习题, 并进行一次课堂讲解.

第四章 串

教学要求:

掌握串及其基本概念;理解串的存储结构及串基本操作的实现;了解串的模式匹配算法; 基本知识点:

● 串的定义和基本运算;

● 串的存储表示及基本运算的实现; 教学重点:

● 串的存储结构; 实验:

实验7:串的基本操作

第五章 数组

教学要求:

掌握数组的定义及其实现机制;了解数组的抽象数据类型;掌握特殊矩阵的压缩存储和稀疏矩阵的压缩存储;了解广义表的概念和表示。 基本知识点:

● 数组的定义及其实现机制;

● 特殊矩阵(包括n 阶对称矩阵、n 阶三角矩阵)的压缩存储方法; ● 稀疏矩阵的压缩存储方法:三元组顺序表、三元组链表。 ● 广义表的概念和表示。 教学重点:

● 特殊矩阵的压缩存储; ● 稀疏矩阵的压缩存储。 实验:

实验8:数组的三元组实现和逆置. 习题课安排:

安排一次课下习题, 并进行一次课堂讲解.

第六章 树

教学要求:

理解树与二叉树的基本概念,掌握二叉树的性质与存储结构;掌握二叉树的遍历算法和二叉树问题的遍历算法设计分析和实现. 基本知识点:

● 树的定义;

● 二叉树的定义及性质; ● 二叉树的存储结构; ● 二叉树的遍历; ● 树的存储;

● 数、森林与二叉数的转换; ● 最优二叉树的构造;

教学重点:

● 二叉树的先序遍历、中序遍历、后序遍历和层次遍历。 实验:

实验9:二叉树的遍历 实验10:哈夫曼树

实验11:二叉树的应用 习题课安排:

安排二次课下习题, 并进行一到两次课堂讲解.

第七章 图

教学要求:

了解图的基本概念和术语;掌握图的邻接矩阵和邻接表存储结构以及图操作的实现方法;理解图的深度和广度遍历方法和算法设计方法;理解最小生成树的概念、普里姆算法和克鲁斯卡尔算法;了解最短路径问题的基本概念和从一个结点到其余各结点最短路径的算法。

基本知识点:

● 图的基本运算的定义 ● 图的存储结构 ● 图的遍历算法

● 如何得到图的最小生成树以及构造最小生成树的算法 ● 拓扑排序和AOV 网(顶点表示活动的有向网) ● 关键路径问题和AOE 网(边表示活动的有向网)

● 单源最短路径——迪杰斯特拉(Dijkstra)算法和每对顶点间的最短路径——弗洛伊德

(Floyd )算法

教学重点:图的邻接矩阵和图的邻接表存储结构;图的深度和广度遍历方法;普里姆算法和克鲁斯卡尔算法。 教学难点:

● 操作的实现方法 实验:

实验12:图的创建和遍历 习题课安排:

安排一次课下习题, 并进行一次课堂讲解.

第九章 查找

教学要求:

掌握各种查找算法的特点、代码实现及应用范围;能应用各种查找算法解决实际问题。 基本知识点:

● 顺序查找算法; ● 折半查找算法; ● 索引查找的算法; ● 哈希表。 教学重点:

● 顺序查找算法和折半查找算法; ● 索引查找的算法。

● 哈希表 实验:

实验13:查找算法的实现 习题课安排:

安排一次课下习题.

第十章 排序

教学要求:

掌握排序的基本概念和排序算法的评判标准;掌握直接插入排序、希尔排序、直接选择排序、堆排序、快速排序、二路归并排序、基数排序的算法思想。

基本知识点:

● 直接插入排序及其性能分析; ● 冒泡排序及其性能分析; ● 简单选择排序及其性能分析; ● 快速排序及其性能分析。

● 希尔排序、堆排序、二路归并排序和基数排序的算法思想. 教学重点:

希尔排序、堆排序、快速排序、二路归并排序和基数排序的算法思想。. 实验:

实验14:排序算法的实现 习题课安排:

安排一次课下习题, 并进行一次课堂讲解.

四、课程学时分配

平时考评(学生出勤考评, 学生交作业情况考评) 占20%

期中考试(随堂考试) 占20% 期末考试(闭卷考试) 占60%

六、选用教材及参考资料(与考试大纲一致)

教材:1.任燕主编《数据结构 C++语言描述》,清华大学出版社,2011年 2. 严蔚敏 《数据结构(C 语言版)》清华大学出版社出版 实验教材:

1、任燕主编《数据结构上机实验指导 C++语言描述》,清华大学出版社,2011年 2、系自制的实验指导

七、教学大纲编制说明

大纲起草人: 冯豫华 教研室审核人:


相关内容

  • [Access数据库应用]教学大纲
  • <Access 数据库应用>教学大纲 课程名称:A ccess 数据库应用 课程编码:U09030004 适用专业及层次:非计算机专业 课程总学时:54 课程总学分:3 理论学时:27 实践学时:27 先修课程:<计算机应用基础> 一.课程的性质.目的与任务 作为计算机软件的 ...

  • 发展专长教学论
  • 发展专长教学论 [摘 要] 组织和开展教学的途径主要可以分为接受式.直导式.指导发现式和探究式四种结构.它们反映了吸收.行为和认知三种不同的学习模式.每种教学结构都有其适用的范围,尤其必须考虑学习者的原有经验以及学习任务的迁移类型.应依据学习活动中主要的认知过程特点来提出相应的教学原则--认知减负. ...

  • 精品课程申报书
  • 2006年度省级精品课程建设项目申请书 课程名称课程层次(本/专)课程类型所属一级学科名称所属二级学科名称课程负责人申报日期 砌体结构本科理论课(含实践) 土建类 2006年5月 陕西省教育厅制二○○六年四月 填写要求 一.以word 文档格式如实填写各项. 二.表格文本中外文名词第一次出现时,要写 ...

  • 教育部本科教学基本状态数据库的特征及启示
  • ·16· 上海教育评估研究 2014年3月 教育部教学基本状态数据库的特征与思考 韩伏彬1,董建梅2 (衡水学院,1. 教务处,2. 法政系:河北,衡水053000) 摘要:教育部教学基本状态数据库的建立标志着国家教育信息化管理向前迈进了一大步.该数 据库设计的特点是:研制目的具有服务性,研发过程具 ...

  • [曲式分析]课程教学大纲
  • <曲式分析>课程教学大纲 一.基本信息 课程编号:[1**********] 课程名称:曲式分析 英文名称:Form analysis 课程性质:专业必修课 总 学 时:64 学 分:4 理论学时:37 实验学时:0 实践学时:27 指导自学学时:0 适用专业:音乐学(音乐治疗) 适用层 ...

  • 动物生物学课程教学大纲
  • 附件1 动物生物学课程教学大纲 课程名称:动物生物学 (A nimal bioloy) 课程编码:1313068214 课程类别:学科基础课 总学时数:60 课内实验时数:24 学 分:2.5 开课单位:生命科学学院 动物教研室 适用专业:生物技术 适用对象:本科(四年) 一.课程的性质.类型.目的 ...

  • 西藏区编三年级汉语文上册全册教案
  • 三年级上册第五册教案 学校: 学科: 年级: 教师: 汉语文 格桑拥珍 学期教学进度表 学生情况分析 班共有25人,男12人.女13人.平时学习中大部分的学生都是积极向上,但还是有少部分的学生有厌学.不学的情况. 于三年级我认为字词理解以及教会学生正确的运用词语造句是至关重要的,在这学期加强复习巩固 ...

  • 试析活动课程教学的过程和结构
  • 活动课程的实施已有好几个年头了.在这几年里,我们一直在认真研究活动课程实施的规范化问题,特别是活动课程教学的过程和结构问题.这个问题与活动课程实施的规范化有直接的联系.要弄清活动课程教学的过程和结构问题,首先有必要再认识一下活动课程与活动课程教学的关系. 一.试析前的说明 我们要建构的活动课程是有中 ...

  • 结构化教学
  • "两类结构"尝试教学模式的建构 [日期:2011-12-23] 来源:实验中学 作者:王俊 [字体:大 中 小] 说起江苏宜兴,人们立即会想到那是中国的陶都,闻名中外. 宜兴是一座历史文化名城,山清水秀,人文荟萃,自古以来就有崇尚读书﹑尊师重教的良好风尚.历史上出了4位状元.38 ...

  • 教学要素与教学系统最优化_李定仁
  • 2003年12月第19卷 第6期教 育 科 学Education Science D ec. , 2003 Vo l. 19 No. 6 教学要素与教学系统最优化 李定仁, 范兆雄 X (西北师范大学教科院, 甘肃兰州 730070) 1摘 要2 教学要素是教学系统的要素, 离开了系统理论就不能把握 ...