数据结构教案C语言版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程教案
课程名称:数据结构授课教师:
学习对象:
任课时间:
一、学生情况分析
数据结构是计算机专业的一门核心专业课程。学生在前期的学习中已经学习了C语言程序设计课程。通过本课程学习使学生对提高编写程序的能力以及解决实际问题的能力。
二、课程教学目标
《数据结构》是计算机学科中一门核心专业基础课。主要介绍如何合理地组织数据、有效地存储和处理数据,正确地设计算法以及对算法的分析和评价。通过本课程的学习,使学生深透地理解数据结构的逻辑结构和物理结构的基本概念以及有关算法,培养基本的、良好的程序设计技能,编制高效可靠的程序,为学习操作系统、编译原理和数据库等课程奠定基础。
三、课程教学内容
第一章绪论
教学内容:
1)什么是数据结构
2)抽象数据类型概念;数据类型;数据抽象与抽象数据类型;用于描述数据结构的语言
3)数据结构的抽象层次
4)算法定义
5)性能分析与度量;算法的性能标准;算法的后期测试;算法
的事前估计;空间复杂度度量;时间复杂度度量;时间复杂度
的渐进表示法;
教学要求:
了解:数据结构基本概念及数据结构的抽象层次
了解:抽象数据类型概念
了解:算法的定义及算法特性
掌握:算法的性能分析与度量方法
第二章线性表
教学内容:
1)线性表的定义和特点
2)线性表的顺序存储及查找、插入和删除操作
3)线性表的链式存储及查找、插入和删除操作
4)使用线性表的实例
教学要求:
了解:线性表的定义和特点
熟练掌握:线性表的顺序存储结构的查找、插入和删除等基本操作
熟练掌握:单链表、循环链表及双向链表的定义及实现
掌握:熟练掌握单链表的应用方法
第三章栈和队列
教学内容:
1)栈:栈的抽象数据类型;栈的顺序存储表示;栈的链式存储表示
2)队列:队列的抽象数据类型;队列的顺序存储表示;队列的链式存储表示
3)队列的应用举例
教学要求:
熟练掌握:栈的定义及实现
熟练掌握:队列的定义及实现
掌握:能运用栈和队列解决简单实际问题
第四章串
教学:内容:
1)字符串的抽象数据类型
2)字符串操作的实现
3)字符串的模式匹配
教学要求:
熟练掌握:字符串的定义方式
熟练掌握:字符串的各种操作的实现
了解:字符串的模式匹配算法
第五章数组和广义表
教学:内容:
1)数组的定义和初始化
2)作为抽象数据类型的数组的顺序存储方式
教学要求:
了解:作为抽象数据类型的数组的定义
熟练掌握:顺序表的数组定义方式及实现
第六章树和二叉树
教学内容:
1)树和森林的概念:树的定义;树的术语;树的抽象数据类型;
森林的概念
2)二叉树:二叉树的定义;二叉树的性质;二叉树的抽象数据
类型
3)二叉树的表示:数组表示;链表存储表示
4)二叉树的遍历:中序遍历;前序遍历;后序遍历;应用二叉
树遍历的实例;二叉树的中序非递归算法
5)线索化二叉树:线索;中序线索化二叉树;前序与后序的线
索化
6)树与森林:树的存储表示;森林与二叉树的转换;树的遍历;
森林的遍历
7)二叉树的计数
8)霍夫曼树:路径长度;霍夫曼树;霍夫曼树编码
教学要求:
了解:树和森林的概念
掌握:二叉树的概念、性质及二叉树的表示
熟练掌握:二叉树的遍历方法
掌握:线索化二叉树的特性及寻找某结点的前驱和后继的方法掌握:树和森林的实现及遍历方法
掌握:二叉树的计数方法及从二叉树遍历结果得到二叉树的方法
掌握:霍夫曼树的实现方法及霍夫曼编码的概念
第七章图
教学内容:
1)图的基本概念:图的基本概念;图的抽象数据类型2)图的存储表示:邻接矩阵;邻接表;邻接多重表
3)图的遍历与连通性;深度优先搜索;广度优先搜索;连通分量
4)最小生成树:克鲁斯卡尔算法;普里姆算法
教学要求:
掌握:图的基本概念和图的存储表示
熟练掌握:图的两种遍历方法与求解连通性问题的方法
掌握:构造最小生成树的Prim和Kruskal方法
第九章查找
教学内容:
1)静态查找表:顺序表的查找;有序表的查找;索引顺序表的
查找
2)二叉排序树:二叉排序树上的搜索、插入和删除
教学要求:
熟练掌握:静态搜索表的顺序搜索和折半搜索方法
熟练掌握:二叉搜索树的表示、搜索、插入、删除算法及其性能分析方法
第十章内部排序
教学内容:
1)概述
2)插入排序:直接插入排序;对分插入排序;链表插入排序;
希尔排序
3)选择排序:直接选择排序;堆排序
教学要求:
掌握:排序的基本概念和性能分析方法
掌握:插入排序、选择排序、等内排序的方法及性能分析方法
单元名称:第一讲:绪论
一、教学目标
1.了解《数据结构》课程的体系结构
2.掌握本章介绍的各种基本概念和术语
3.了解数据结构的二元组表示
4.掌握逻辑结构与物理结构之间的映像关系。
二、重点与难点
重点:数据结构的基本概念;逻辑结构与物理结构之间的映像关系。
难点:逻辑结构与物理结构之间的映像关系。
三、教学内容与教学过程
介绍本学期课程的内容及安排
本课程是计算机专业的重要专业课之一,主要介绍常用的数据结构以及相关算法。本课程主要讲授线性表、栈和队列、串、数组、树和二叉树、图、查找、排序等内容。
成绩考核方式为:期末成绩+平时成绩,其中期末成绩占70%,平时成绩占
30%,平时成绩为:作业成绩+出勤率+上机成绩。
讲授新课
1.1什么是数据结构
讲解:(数据结构课程的研究背景)
从计算机最初以数值计算为主到大量非数值计算出现引出数据结构。
讲解:(数据结构课程的研究对象)
例1-1图书馆的书目检索系统自动化问题。
1-2计算机和人机对奕问题
1-3多叉路口交通灯的管理问题
总结:
从以上三个例子可以看出,描述这类非数值计算问题的数学模型不再是数学方程,而是诸如线性表、树和图等之类的数据结构,这些都是数据结构课程的研究对象。因此,简单地说,数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等等的学科。
介绍数据结构课程的发展以及与其他课程之间的关系。
1.2基本概念和术语