《数据结构》教案.docx

上传人:b****5 文档编号:7021307 上传时间:2023-01-16 格式:DOCX 页数:62 大小:338.26KB
下载 相关 举报
《数据结构》教案.docx_第1页
第1页 / 共62页
《数据结构》教案.docx_第2页
第2页 / 共62页
《数据结构》教案.docx_第3页
第3页 / 共62页
《数据结构》教案.docx_第4页
第4页 / 共62页
《数据结构》教案.docx_第5页
第5页 / 共62页
点击查看更多>>
下载资源
资源描述

《数据结构》教案.docx

《《数据结构》教案.docx》由会员分享,可在线阅读,更多相关《《数据结构》教案.docx(62页珍藏版)》请在冰豆网上搜索。

《数据结构》教案.docx

《数据结构》教案

课程简介

人们在运用程序设计语言编写程序的过程中发现所有的数据都可以抽象为三种结构,而对这些数据的所有操作都可以转化为对这三种数据的几种基本操作,而大多数的程序设计技巧都可以抽象为一些最基本的算法。

于是人们逐步发展了一门称为数据结构(或数据结构与算法)的计算机科学,它广泛应用于计算机领域。

数据结构是信息与计算专业的核心基础课程之一。

数据是计算机处理的对象,本课程研究的数据是非数值性、结构性的数据。

学习本课程要求掌握各种主要数据结构的特点、计算机内的表示方法,以及处理数据的算法,对于算法所花费的时间和空间代价的分析也要求有一定程度的了解和掌握。

通过本课程的学习,使学生透彻地理解各种数据对象的特点,学会数据的组织方法和实现方法,并进一步培养基本的良好的程序设计能力。

本课程主要包括如下三个方面的内容:

1.基本数据结构:

线性表、栈、队列、串、数组和广义表,掌握它们的特点、表示和实现,对静态结构要求非常熟练的编程上机实现,对动态结构要求逐步熟悉链表的表示,通过模仿实验教程中的例子,掌握编程技巧。

强调类C语言的书写规范,特别注意参数的区别,输入输出的方式和错误处理方式,以及抽象数据类型的表示和实现。

能熟练完成以下的应用:

多项式的计算、语法检查、回朔算法、递归算法、表达式求值、离散事件模拟、文字的编辑和稀疏矩阵进行矩阵运算采用的处理方法。

2.复杂数据结构:

树、二叉树、图。

掌握它们的定义和特点、表示和实现,特别注意与基本数据结构的区别,掌握各种遍历的递归和非递归算法,能熟练完成以下的应用:

最优树、Huffman编码、拓扑排序、关键路径和最短路径问题。

3.数据结构的应用:

查找和内部排序。

熟练掌握静态查找表的查找方法和实现,了解哈希表的构造和查找方法。

掌握各种内部排序方法的基本思想、算法特点、排序过程以及它们的时间复杂度分析。

《数据结构》教学大纲

课程名称:

数据结构

课程编号:

014100028适用专业:

计算机、信息管理

总学时数:

60学分数:

4

一、课程的性质、目的与任务

数据结构是计算机科学技术、信息管理等专业的核心课程之一,是一门理论与工程实践密切相关的综合性课程,在计算机学科教学中具有十分重要的作用。

大力加强数据结构课程的建设,提高数据结构课程的教学质量,有利于教学改革和教育创新,有利于高级应用型人才和创新人才的培养。

《数据结构》课程是计算机专业的专业基础课程,介绍计算机领域的常用数据结构以及各种查找和排序的算法,是计算机专业学生必修的一门技术基础课程,也是计算机专业的核心课程。

数据结构是计算机专业的一门重要的专业基础课,主要解决数据的表示和数据的处理,系统介绍三大数据结构及其实现,为操作系统等课程提供必要的知识基础,为计算机人员提供必要的基本技能。

二、课程教学基本要求

本课程介绍常用数据结构之间的逻辑结构、存储结构和对其施加的运算,如:

线性表、栈、队列、串、数组、广义表、树、图等。

同时还介绍各种查找和排序的算法。

通过本门课程的学习,应使学生掌握以下几个方面的知识:

1:

系统学习常用基本数据结构及其在不同存储方式下的实现,掌握分析、选择不同的数据结构和存储结构的原则和方法。

2:

学习和掌握在各种存储结构上实现的各种算法及其设计思想,从而学习各种分析问题和解决问题的能力。

3:

掌握各种算法的时空效率的分析方法,学会在实际应用中选择合适的算法。

4:

掌握各种查找和排序的算法以及效率,并将其应用在程序设计中。

三、课程教学内容体系

第一章:

概论

1.1什么是数据结构

1.2基本概念和术语

1.3抽象数据类型的表现与实现

1.4算法和算法分析

教学要求:

理解数据、数据元素、数据项的概念;掌握逻辑结构和存储结构的关系;理解算法的基本概念;学会分析算法的时间复杂性和空间复杂性。

第二章:

线性表

2.1线性表的类型定义

2.2线性表的顺序表示和实现

2.3线性表的链式表示和实现(静态查找表不讲)

2.4一元多项式的表示及相加

教学要求:

理解线性表的定义和特点;掌握顺序表和链表的特点,掌握在这两种存储结构上各种基本运算的实现算法以及效率的分析,并学习在这两种存储结构上进行算法设计的方法;以达到利用基本算法进行较复杂算法设计的目的。

第三章:

栈、队列

3.1栈

3.2栈的应有和举例

3.2.1数制转换

3.3.4迷宫求解

3.3栈与递归的实现

3.4队列

教学要求:

理解栈和队列的定义、特点,学习它们的各种组织方式及算法;掌握它们的空和满的判断条件;并学会它们的简单应用。

第四章:

4.1串类型的定义

4.2串的表示和实现

4.2.1定长顺序存储表示

4.2.3串的块链存储表示

4.3串的模式匹配算法

4.3.1求字串位置的定位函数

教学要求:

了解串的概念,掌握串的基本运算,学习串运算在不同存储结构下的实现过程。

第五章:

多维数组和广义表

5.1数组的定义

5.2数组的顺序表现和实现

5.3矩阵的压缩存储

教学要求:

领会数组的定义,数组的两种顺序存储结构,并领会几种特殊矩阵和稀疏矩阵的压缩存储方法。

第六章:

6.1树的定义和基本术语

6.2二叉树

6.2.1二叉树的定义

  6.2.2二叉树的性质

  6.2.3二叉树的存储结构

6.3遍历二叉树和线索二叉树

  6.3.1遍历二叉树

6.4树和森林

  6.4.1树的存储结构

  6.4.2森林与二叉树的转换

  6.4.3树和森林的遍历

6.6赫夫曼树及其应用

  6.6.1最优二叉树(赫夫曼树)

  6.6.2赫夫曼编码

教学要求:

理解树型结构的概念和术语,领会二叉树的定义、形态、性质和存储结构,掌握二叉树的各种遍历算法极其实现过程,了解树和森林及其相互转换;掌握哈夫曼树极其应用。

第七章:

7.1图的定义和术语

7.2图的存储结构

  7.2.1数组表示法

  7.2.2邻接表

  7.2.3十字链表

  7.2.4邻接多重表

7.3图的遍历

  7.3.1深度优先搜索

  7.3.2广度优先搜索

7.4图的连通性问题

  7.4.1无向图的连通分量和生成树

  7.4.3最小生成树

  7.5有向无环图及其应用

  7.5.1拓扑排序

  7.5.2关键路径

7.6最短路径

  7.6.1从某个源点到其余各顶点的最短路径

 教学要求:

理解图型结构的概念和术语,掌握图的邻接矩阵和邻接表两种存储形式,理解图的遍历的基本思想,掌握图的两种遍历的方法和其实现的过程,学会图在最小生成树、拓扑排序、最短路径、关键路径中的应用。

第九章:

查找

9.1静态查找表

  9.1.1顺序表的查找

  9.1.2有序表的查找

  9.1.4索引顺序表的查找

9.3哈希表

  9.3.1什么是哈希表

  9.3.2哈希函数的构造方法

  9.3.3处理冲突的方法

  教学要求:

掌握查找表的定义和分类,熟练掌握顺序查找和二分查找的思想,了解二叉排序树及其查找,了解散列查找的思想和有关方法。

第十章:

内部排序

10.1概述

10.2插入排序

  10.2.1直接插入排序

  10.2.2其他插入排序(表的插入排序不讲)

  10.2.3希尔排序

10.3快速排序

10.4选择排序

10.4.1简单选择排序

10.5归并排序

教学要求:

熟练掌握各种排序方法的思想和特点,如:

插入排序、交换排序、选择排序、分配排序等,学会分析它们的优点和缺点以及时空性能,并学会选择和应用各种排序方法解决实际问题。

 

四、学时分配

章节内容

讲授学时

上机学时

习题学时

概论

4

0

0

线性表

6

1

1

栈、队列

6

1

1

2

1

1

数组和广义表

4

1

1

树和二叉树

8

1

1

8

1

1

查找

2

1

1

内部排序

4

1

1

总学时数:

60课时

44

8

8

五、推荐教材及教学参考书

1.教材

《数据结构》;严蔚敏编著;清华大学出版社

2.教学参考书

《算法与数据结构(C语言版)》,范策等编著,机械工业出版社,2004

《数据结构(C语言版)》,严蔚敏等编著,清华大学出版社2004

《数据结构与算法》,许卓群,杨冬青,唐世渭,张铭,高等教育出版社,2004

《数据结构实用教程(第二版)》,徐孝凯编著,清华大学出版社2006

《数据结构辅导与提高实用教程(第二版)》,徐孝凯,清华大学出版社2003

《数据结构》,谢楚屏等,人民邮电出版社,2001

《算法与数据结构-C语言描述》,张乃孝等,高等教育出版社,2002

《数据结构》,殷人昆,清华大学出版社,2001

《计算机算法设计与分析》,苏德富,电子工业出版社,2001

《算法与数据结构》,傅清祥,王哓冬,电子工业出版社,1998

《数据结构-C++与面向对象的途径》,张乃孝,裘宗燕,高等教育出版社,2001

《数据结构-用面向对象方法与C++描述》,殷人昆等清华大学出版社

《算法设计与分析》,梁田贵,张鹏编著,冶金工业出版社,2004

六、考核办法和成绩评定标准

根据教学要求进行期末考试,由任课教师根据完成情况进行评定,并最终结合平时成绩的考核给出综合成绩。

 

制定:

                                                                                                  制定日期:

教案(首页)

授课时间教案编写时间

课程名称

数据结构

课程代码

总学时

讲课:

学时

上机:

学时

实习:

学分

课程性质

必修课(√)选修课()

理论课(√)实验课()

任课教师

职称

授课对象

专业:

年级:

 班级:

教材

主要参考资料

选用教材:

《数据结构》,严蔚敏编著清华大学出版社

主要参考书:

《算法与数据结构(C语言版)》,范策,周世平,胡哓琨等编著,机械工业出版社,2004

《数据结构(C语言版)》,严蔚敏等编著,清华大学出版社2004

《数据结构与算法》,许卓群,杨冬青,唐世渭,张铭,高等教育出版社,2004

《数据结构实用教程(第二版)》,徐孝凯编著,清华大学出版社2006

《数据结构辅导与提高实用教程(第二版)》,徐孝凯,清华大学出版社2003

《数据结构》,谢楚屏等,人民邮电出版社,2001

《算法与数据结构-C语言描述》,张乃孝等,高等教育出版社,2002

《数据结构》,殷人昆,清华大学出版社,2001

《计算机算法设计与分析》,苏德富,电子工业出版社,2001

《算法与数据结构》,傅清祥,王哓冬,电子工业出版社,1998

《数据结构-C++与面向对象的途径》,张乃孝,裘宗燕,高等教育出版社,2001

《数据结构-用面向对象方法与C++描述》,殷人昆等清华大学出版社

《算法设计与分析》,梁田贵,张鹏编著,冶金工业出版社,2004

教学目的和

教学要求

通过本门课程的学习,应使学生掌握以下几个方面的知识:

1. 系统学习常用基本数据结构及其在不同存储方式下的实现,掌握分析、选择不同的数据结构和存储结构的原则和方法。

2. 学习和掌握在各种存储结构上实现的各种算法及其设计思想,从而学习各种分析问题和解决问题的能力。

3. 掌握各种算法的时空效率的分析方法,学会在实际应用中选择合适的算法。

4. 掌握各种查找和排序的算法以及效率,并将其应用在程序设计中。

教学重点和

教学难点

重点掌握数据结构之间的逻辑结构、存储结构和对其施加的运算,如:

线性表、栈、队列、串、数组、广义表、树、图等。

应掌握各种查找和排序的算法。

难点章节:

第六章:

树和第七章:

图。

教学进程

第1次课

第2次课

第3次课

第4次课

第5次课

第6次课

第7次课

第8次课

第9次课

第10次课

第11次课

第12次课

第13次课

第14次课

第15次课

第16次课

第17次课

第18次课

第19次课

第20次课

第21次课

第22次课

第23次课

第24次课

第25次课

第26次课

第27次课

第28次课

第29次课

第30次课

授课章节

第1章绪论:

1.1什么是数据结构、1.2基本概念和术语

第1章:

1.3抽象数据类型的表现与实现1.4算法和算法分析

第2章线性表:

2.1线性表的类型定义2.2线性表的顺序表示

第2章:

2.3线性表的链式表示和实现

(1)

第2章:

2.3

(2)2.4一元多项式的表示及相加

第3章栈和队列:

3.1、3.2.1

第3章栈和队列:

3.2.4、3.2.5、3.3

第3章栈和队列:

3.4

综合习题课

(1):

前3章的相关内容

综合实验课

(1):

前3章的相关内容

第4章串:

4.1、4.2.1、4.2.2、4.2.3、4.3.1

第5章数组和广义表:

5.1、5.2

第5章数组和广义表:

5.3

综合实验课

(2):

第4-5章的相关内容

第6章树和二叉树:

6.1、6.2

第6章树和二叉树:

6.3、6.4.1

第6章树和二叉树:

6.4.2、6.6

第6章树和二叉树:

综合习题课

(2):

树的相关内容

第7章图:

7.1、7.2

第7章图:

7.3、7.4.1、7.4.3

第7章图:

7.6

第7章图:

综合习题课(3):

图的相关内容

第9章查找:

9.1、9.3

综合实验课(3):

第9章的相关内容

第10章内部排序:

10.1、10.2

第10章内部排序:

10.3、10.4

综合习题课(3):

第9、10章的相关内容

综合实验课(4):

第10章的相关内容

学时

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

备注

教案(分教案)

课次:

1学时:

2

章节

第1章绪论:

1.1什么是数据结构、1.2基本概念和术语

教学目的

教学要求

了解数据结构的课程性质、内容、应用领域及其与其他学科的关系;掌握数据结构的相关概念和术语;掌握四类基本的数据关系。

教 学

重点

难点

教学重点:

数据结构的相关概念和术语

教学难点:

四类基本的数据关系

教学进程

(含章节

教学内容、学时分配、

教学方法、辅助手段)

教学进程:

计算机的应用不再局限于科学计算,更多地用于控制,管理,数据处理等非数值计算的处理工作。

计算机加工处理的对象:

数值,字符,表格,图形声音,图象等具有一定结构的数据。

进行程序设计时必须分析待处理的对象的特性及各对象之间存在的关系———产生背景。

1.1什么是数据结构

1.2数据结构的基本概念和术语

1.数据(Data)

2.数据元素(DataElement)

3.数据对象(DataObject)

4.结构(DataStructure)存储结构、抽象数据类型

抽象数据类型(AbstractDataType)

ADT的定义格式不唯一,我们采用下述格式定义一个ADT:

 ADT抽象数据类型名{

数据对象:

<数据对象的定义>

数据关系:

<结构关系的定义>

基本操作:

<基本操作的定义>

}ADT抽象数据类型名

教学方法、课堂讲解、例题演示,课件演示

辅助手段:

电脑、投影仪、教科书

作 业

图1.5:

要求理解和掌握四类基本的数据关系;并在日常生活中举例进行说明。

主要

参考资料

《算法与数据结构(C语言版)》,范策,周世平,胡哓琨等编著,机械工业出版社,2004

《数据结构(C语言版)》,严蔚敏等编著,清华大学出版社2004

《数据结构与算法》,许卓群,杨冬青,唐世渭,张铭,高等教育出版社,2004

课后自我总结分析

备注

教案(分教案)

课次:

2学时:

2

章节

第1章:

1.3抽象数据类型的表现与实现1.4算法和算法分析

教学目的

教学要求

理解抽象数据类型的表示及实现;

对算法、算法要求、算法效率的度量进行有效的分析。

教 学

重点

难点

教学重点:

抽象数据类型的表示及实现;算法、算法要求;

教学难点:

算法效率的度量及有效的分析;

教学进程

(含章节

教学内容、学时分配、

教学方法、辅助手段)

教学进程:

1.3抽象数据类型的表示和实现

1.4算法

1.算法(Algorithm)的定义

Algorithmisafinitesetofruleswhichgivesasequenceofoperationforsolvingaspecifictypeofproblem.(算法是规则的有限集合,是为解决特定问题而规定的一系列操作。

)是指令的有限序列,其中每一条指令表示一个或多个操作。

2.算法的特性

3.算法设计的要求

1)算法的正确性

(1)所设计的程序没有语法错误;

(2)所设计的程序对于几组输入数据能够得出满足要求的结果;

(3)所设计的程序对于精心选择的典型、苛刻而带有刁难性的几组输入数据能够得到满足要求的结果。

(4)程序对于一切合法的输入数据都能产生满足要求的结果。

2)可读性

3)健壮性

4)高效率和低存储量、算法、语言和程序的关系

时间复杂度

教学方法、课堂讲解、例题演示,课件演示

辅助手段:

电脑、投影仪、教科书

作 业

1:

图1.5、P13:

算法的5个特征;

2:

P15:

两段程序的语句的频度的分析

主要

参考资料

《算法与数据结构(C语言版)》,范策,周世平,胡哓琨等编著,机械工业出版社,2004

《数据结构(C语言版)》,严蔚敏等编著,清华大学出版社2004

《数据结构与算法》,许卓群,杨冬青,唐世渭,张铭,高等教育出版社,2004

课后自我总结分析

备注

教案(分教案)

课次:

3学时:

2

章节

第2章线性表:

2.1线性表的类型定义2.2线性表的顺序表示

教学目的

教学要求

理解线性表的定义和特点;掌握顺序表以达到利用基本算法进行较复杂算法设计的目的。

教 学

重点

难点

教学重点:

线性表的定义和特点;线性表的顺序表示

教学难点:

线性表的顺序表示

教学进程

(含章节

教学内容、学时分配、

教学方法、辅助手段)

教学进程:

线性结构的特点:

在数据元素的非空有限集中,

•存在唯一的一个被称为“第一个”的数据元素;

•存在唯一的一个被称为“最后一个”的数据元素;

•除第一个元素之外,集合中的每个元素均只有一个前驱;

•除最后一个元素之外,集合中的每个元素均只有一个后继。

2.1线性表的类型定义

2.1.1线性表的逻辑结构

2.1.2线性表的抽象数据类型定义

2.2线性表的顺序表示和实现

2.2.1线性表的顺序存储结构

2.2.2线性表顺序存储结构上的基本运算

1.初始化操作2.插入操作3.删除操作

算法2.1

算法2.3

教学方法、课堂讲解、例题演示,课件演示

辅助手段:

电脑、投影仪、教科书

作 业

1:

算法2.1、图2.2、算法2.4

2:

算法2.5、算法2.6

主要

参考资料

《算法与数据结构(C语言版)》,范策,周世平,胡哓琨等编著,机械工业出版社,2004

《数据结构(C语言版)》,严蔚敏等编著,清华大学出版社2004

《数据结构与算法》,许卓群,杨冬青,唐世渭,张铭,高等教育出版社,2004

课后自我总结分析

备注

教案(分教案)

课次:

4学时:

2

章节

第2章:

2.3线性表的链式表示和实现

(1)

教学目的

教学要求

理解线性表的链表的特点,掌握在这种存储结构上各种基本运算的实现算法以及效率的分析,并学习在这种存储结构上进行算法设计的方法;以达到利用基本算法进行较复杂算法设计的目的。

教 学

重点

难点

教学重点:

线性表的链式表示和实现;

教学难点:

单链表的插入、删除、查找和归并操作;

教学进程

(含章节

教学内容、学时分配、

教学方法、辅助手段)

教学进程:

2.3线性表的链式表示和实现

2.3.1单链表

线性表的链式存储:

图2.6单链表的逻辑状态

图2.7带头结点单链表图示

2.3.2单链表上的基本运算

1.建立单链表

2.查找

3.单链表插入操作

4.删除

5.合并单链表:

教学方法、课堂讲解、例题演示,课件演示

辅助手段:

电脑、投影仪、教科书

作 业

1:

图2.5、图2.8、图2.9

2:

算法2.8、算法2.9、算法2.10、算法2.11

主要

参考资料

《算法与数据结构(C语言版)》,范策,周世平,胡哓琨等编著,机械工业出版社,2004

《数据结构(C语言版)》,严蔚敏等编著,清华大学出版社2004

《数据结构与算法》,许卓群,杨冬青,唐世渭,张铭,高等教育出版社,2004

课后自我总结分析

备注

教案(分教案)

课次:

5学时:

2

章节

第2章:

2.3

(2)2.4一元多项式的表示及相加

教学目的

教学要求

理解线性表的链表的特点,掌握在这种存储结构上各种基本运算的实现算法以及效率的分析;掌握一元多项式的表示及相加的方法与算法。

教 学

重点

难点

教学重点:

循环链表、双向链表及其算法;一元多项式的表示及相加的方法与算法;

教学难点:

双向链表及其算法、一元多项式相加的方法;

教学进程

(含章节

教学内容、学时分配、

教学方法、辅助手段)

教学进程:

2.3.3循环链表

2.3.4双向链表

1.双向链表的前插操作

2.双向链表的删除操作

2.3.6顺序表和链表的比较

1.基于空间的考虑、

2.基于时间的考虑、

3.基于语言的考虑

2.4一元多项式的表示及相加

教学方法、课堂讲解、例题演示,课件演示

辅助手段:

电脑、投影仪、教科书

作 业

1:

图2.12、图2.14、图2.15、图2.16、图2.17、图2.18

2:

算法2.18、算法2.19、算法2.23

主要

参考资料

《算法与数据结构(C语言版)》,范策,周世平,胡哓琨等编著,机械工业出版社,2004

《数据结构(C语言版)》,严蔚敏等编著,清华大学出版社2004

《数据结构与算法》,许卓群,杨冬青,唐世渭,张铭,高等教育出版社,2004

课后自我总结分析

备注

教案(分教案)

课次:

6学时:

2

章节

第3章栈和队列:

3.1栈、3.2.1数制转换

教学目的

教学要求

理解栈的定义、特点,学习它的各种组织方式及算法;掌握它

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1