《数据结构》教案.doc

上传人:sk****8 文档编号:2103768 上传时间:2019-04-26 格式:DOC 页数:49 大小:13.20MB
下载 相关 举报
《数据结构》教案.doc_第1页
第1页 / 共49页
《数据结构》教案.doc_第2页
第2页 / 共49页
《数据结构》教案.doc_第3页
第3页 / 共49页
《数据结构》教案.doc_第4页
第4页 / 共49页
《数据结构》教案.doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

1、1课 程 简 介人们在运用程序设计语言编写程序的过程中发现所有的数据都可以抽象为三种结构,而对这些数据的所有操作都可以转化为对这三种数据的几种基本操作,而大多数的程序设计技巧都可以抽象为一些最基本的算法。于是人们逐步发展了一门称为数据结构(或数据结构与算法)的计算机科学,它广泛应用于计算机领域。数据结构是信息与计算专业的核心基础课程之一。数据是计算机处理的对象,本课程研究的数据是非数值性、结构性的数据。学习本课程要求掌握各种主要数据结构的特点、计算机内的表示方法,以及处理数据的算法,对于算法所花费的时间和空间代价的分析也要求有一定程度的了解和掌握。通过本课程的学习,使学生透彻地理解各种数据对象

2、的特点,学会数据的组织方法和实现方法,并进一步培养基本的良好的程序设计能力。本课程主要包括如下三个方面的内容:1基本数据结构: 线性表、栈、队列、串、数组和广义表,掌握它们的特点、表示和实现,对静态结构要求非常熟练的编程上机实现,对动态结构要求逐步熟悉链表的表示,通过模仿实验教程中的例子,掌握编程技巧。强调类 C 语言的书写规范,特别注意参数的区别,输入输出的方式和错误处理方式,以及抽象数据类型的表示和实现。能熟练完成以下的应用:多项式的计算、语法检查、回朔算法、递归算法、表达式求值、离散事件模拟、文字的编辑和稀疏矩阵进行矩阵运算采用的处理方法。2复杂数据结构: 树、二叉树、图。掌握它们的定义

3、和特点、表示和实现,特别注意与基本数据结构的区别,掌握各种遍历的递归和非递归算法,能熟练完成以下的应用:最优树、Huffman 编码、拓扑排序、关键路径和最短路径问题。 3数据结构的应用: 查找和内部排序。熟练掌握静态查找表的查找方法和实现,了解哈希表的构造和查找方法。掌握各种内部排序方法的基本思想、算法特点、排序过程以及它们的时间复杂度分析。2数据结构教学大纲课程名称:数据结构课程编号:014100028 适用专业:计算机、信息管理总学时数:60 学分数: 4 一、课程的性质、目的与任务数据结构是计算机科学技术、信息管理等专业的核心课程之一,是一门理论与工程实践密切相关的综合性课程,在计算机

4、学科教学中具有十分重要的作用。大力加强数据结构课程的建设,提高数据结构课程的教学质量,有利于教学改革和教育创新,有利于高级应用型人才和创新人才的培养。数据结构课程是计算机专业的专业基础课程,介绍计算机领域的常用数据结构以及各种查找和排序的算法,是计算机专业学生必修的一门技术基础课程,也是计算机专业的核心课程。数据结构是计算机专业的一门重要的专业基础课,主要解决数据的表示和数据的处理,系统介绍三大数据结构及其实现,为操作系统等课程提供必要的知识基础,为计算机人员提供必要的基本技能。二、课程教学基本要求本课程介绍常用数据结构之间的逻辑结构、存储结构和对其施加的运算,如:线性表、栈、队列、串、数组、

5、广义表、树、图等。同时还介绍各种查找和排序的算法。通过本门课程的学习,应使学生掌握以下几个方面的知识:1:系统学习常用基本数据结构及其在不同存储方式下的实现,掌握分析、选择不同的数据结构和存储结构的原则和方法。2:学习和掌握在各种存储结构上实现的各种算法及其设计思想,从而学习各种分析问题和解决问题的能力。3:掌握各种算法的时空效率的分析方法,学会在实际应用中选择合适的算法。4:掌握各种查找和排序的算法以及效率,并将其应用在程序设计中。三、课程教学内容体系第一章:概论1.1 什么是数据结构1.2 基本概念和术语1.3 抽象数据类型的表现与实现1.4 算法和算法分析教学要求:理解数据、数据元素、数

6、据项的概念;掌握逻辑结构和存储结构的关系;理解算法的基本概念;学会分析算法的时间复杂性和空间复杂性。第二章:线性表2.1 线性表的类型定义2.2 线性表的顺序表示和实现2.3 线性表的链式表示和实现(静态查找表不讲)2.4 一元多项式的表示及相加教学要求:理解线性表的定义和特点;掌握顺序表和链表的特点,掌握在这两种存储结构上各种基本运算的实现算法以及效率的分析,并学习在这两种存储结构上进行算法设计的方法; 以达到利用基本算法进行较复杂算法设计的目的。第三章:栈、队列3.1 栈33.2 栈的应有和举例3.2.1 数制转换3.3.4 迷宫求解3.3 栈与递归的实现3.4 队列教学要求:理解栈和队列

7、的定义、特点,学习它们的各种组织方式及算法;掌握它们的空和满的判断条件;并学会它们的简单应用。第四章:串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 二叉树的定义

8、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 数组表示法47.2.2 邻接表7.2.3 十字链表7.2.4 邻接多重表7.3 图的遍历7.3

9、.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 哈

10、希函数的构造方法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 归并排序教学要求:熟练掌握各种排序方法的思想和特点,如:插入排序、交换排序、选择排序、分配排序等,学会分析它们的优点和缺点以及时空性能,并学会选择和应用各种排序方法解决实际问题。5四、学时分配章节内容 讲授学时 上机学时

11、习题学时一 概 论 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数据结构实用教程(第二版),徐孝凯编著,清华大学出版社 200

12、6数据结构辅导与提高实用教程(第二版),徐孝凯,清华大学出版社 2003数据结构,谢楚屏等,人民邮电出版社,2001算法与数据结构C 语言描述 ,张乃孝等,高等教育出版社,2002数据结构,殷人昆,清华大学出版社,2001计算机算法设计与分析,苏德富,电子工业出版社,2001算法与数据结构,傅清祥,王哓冬,电子工业出版社,1998数据结构C+与面向对象的途径,张乃孝,裘宗燕,高等教育出版社,2001数据结构用面向对象方法与 C+描述,殷人昆等清华大学出版社算法设计与分析,梁田贵,张鹏编著,冶金工业出版社,2004六、考核办法和成绩评定标准根据教学要求进行期末考试,由任课教师根据完成情况进行评定

13、,并最终结合平时成绩的考核给出综合成绩。制定:制定日期:6教 案 ( 首 页 )授课时间 教案编写时间 课程代码课程名称 数据结构学 分课程性质 必修课() 选修课( )理论课() 实验课( )任课教师 职称总学时讲课: 学时上机: 学时实习: 周授课对象 专业: 年级: 班级: 教材和主要参考资料选用教材: 数据结构, 严蔚敏编著 清华大学出版社主要参考书:算法与数据结构(C 语言版) , 范策,周世平,胡哓琨 等编著,机械工业出版社, 2004数据结构(C 语言版), 严蔚敏等编著, 清华大学出版社 2004数据结构与算法,许卓群,杨冬青,唐世渭,张铭,高等教育出版社,2004数据结构实用

14、教程(第二版),徐孝凯编著,清华大学出版社 2006数据结构辅导与提高实用教程(第二版),徐孝凯,清华大学出版社 2003数据结构,谢楚屏等,人民邮电出版社,2001算法与数据结构C 语言描述 ,张乃孝等,高等教育出版社,2002数据结构,殷人昆,清华大学出版社,2001计算机算法设计与分析,苏德富,电子工业出版社,2001算法与数据结构,傅清祥,王哓冬,电子工业出版社,1998数据结构C+与面向对象的途径,张乃孝,裘宗燕,高等教育出版社,2001数据结构用面向对象方法与 C+描述,殷人昆等清华大学出版社算法设计与分析,梁田贵,张鹏编著,冶金工业出版社,2004教学目的和教学要求通过本门课程的

15、学习,应使学生掌握以下几个方面的知识:1 系统学习常用基本数据结构及其在不同存储方式下的实现,掌握分析、选择不同的数据结构和存储结构的原则和方法。2 学习和掌握在各种存储结构上实现的各种算法及其设计思想,从而学习各种分析问题和解决问题的能力。3 掌握各种算法的时空效率的分析方法,学会在实际应用中选择合适的算法。4 掌握各种查找和排序的算法以及效率,并将其应用在程序设计中。7教学重点和教学难点重点掌握数据结构之间的逻辑结构、存储结构和对其施加的运算,如:线性表、栈、队列、串、数组、广义表、树、图等。应掌握各种查找和排序的算法。难点章节:第六章:树和第七章:图。教学进程8第 1 次课第 2 次课第

16、 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 章 :

17、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第

18、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 章的相关内容学 时222222222222222222222222222222备 注9教 案 ( 分 教 案 )课 次 : 1 学 时 : 2章 节 第 1 章 绪论:1.1 什么

19、是数据结构、1.2 基本概念和术语教学目的和教学要求了解数据结构的课程性质、内容、应用领域及其与其他学科的关系;掌握数据结构的相关概念和术语;掌握四类基本的数据关系。教 学重 点难 点教学重点: 数据结构的相关概念和术语教学难点: 四类基本的数据关系教学进程(含章节教学内容、学时分配、教学方法、 辅助手段)教学进程:计算机的应用不再局限于科学计算,更多地用于控制,管理,数据处理等非数值计算的处理工作。计算机加工处理的对象:数值,字符,表格,图形声音,图象等具有一定结构的数据。进行程序设计时必须分析待处理的对象的特性及各对象之间存在的关系产生背景。1.1 什么是数据结构1.2 数据结构的基本概念

20、和术语 1. 数据(Data)2. 数据元素(Data Element)3. 数据对象(Data Object)4. 结构(Data Structure)存储结构、抽象数据类型抽象数据类型 (Abstract Data Type)ADT 的定义格式不唯一, 我们采用下述格式定义一个 ADT: ADT 抽象数据类型名数据对象: 数据关系: 基本操作: ADT 抽象数据类型名教学方法、课堂讲解、例题演示,课件演示辅助手段:电脑、投影仪、教科书作 业 图 1.5:要求理解和掌握四类基本的数据关系;并在日常生活中举例进行说明。主要参考资料算法与数据结构(C 语言版) , 范策,周世平,胡哓琨 等编著,

21、机械工业出版社, 2004数据结构(C 语言版), 严蔚敏等编著, 清华大学出版社 2004数据结构与算法,许卓群,杨冬青,唐世渭,张铭,高等教育出版社,2004课后自我总结分析备注10教 案 ( 分 教 案 )课 次 : 2 学 时 : 2章 节 第 1 章:1.3 抽象数据类型的表现与实现 1.4 算法和算法分析教学目的和教学要求理解抽象数据类型的表示及实现;对算法、算法要求、算法效率的度量进行有效的分析。教 学重 点难 点教学重点: 抽象数据类型的表示及实现;算法、算法要求;教学难点: 算法效率的度量及有效的分析;教学进程(含章节教学内容、学时分配、教学方法、 辅助手段)教学进程:1.3

22、 抽象数据类型的表示和实现1.4 算 法 1. 算法(Algorithm)的定义Algorithm is a finite set of rules which gives a sequence of operation for solving a specific type of problem. (算法是规则的有限集合, 是为解决特定问题而规定的一系列操作。) 是指令的有限序列,其中每一条指令表示一个或多个操作。2. 算法的特性3. 算法设计的要求) 算法的正确性(1) 所设计的程序没有语法错误; (2) 所设计的程序对于几组输入数据能够得出满足要求的结果; (3) 所设计的程序对于精心选

23、择的典型、 苛刻而带有刁难性的几组输入数据能够得到满足要求的结果。 (4) 程序对于一切合法的输入数据都能产生满足要求的结果。2) 可读性 3) 健壮性 4) 高效率和低存储量 、算法、 语言和程序的关系时间复杂度教学方法、课堂讲解、例题演示,课件演示辅助手段:电脑、投影仪、教科书作 业 1:图 1.5、P13:算法的 5 个特征;2:P15:两段程序的语句的频度的分析主要参考资料算法与数据结构(C 语言版) , 范策,周世平,胡哓琨 等编著,机械工业出版社, 2004数据结构(C 语言版), 严蔚敏等编著, 清华大学出版社 2004数据结构与算法,许卓群,杨冬青,唐世渭,张铭,高等教育出版社,2004课后自我总结分析备注

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 课程笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。