《数据结构(C语言版)》教案
《数据结构(C语言版)》教案
2020 至2020 学年第一学期教案课程名称数据结构使用教材《数据结构(C语言版)》教学时数56课程性质必修任课班级(人数)信管(53人)信息系(部)信管教研室任课教师山东科技大学泰山科技学院课时授课计划2020-2020学年第二学期
第1周授课日期2月20 日星期1 月日星期月日星期月日星期月日星期班级信管10-1 基本课题第1章绪论  1.1-1.2 教学目的与要求:
1. 了解数据结构的基本概念
2. 理解常用术语教学重点:
数据结构的基本概念和术语教学难点:
数据元素之间的四种结构关系作业及参考书:
1、什么是数据结构?《数据结构算法实现及解析》/高一凡编著教具:
多媒体板书课堂类型:
讲授教学过程:自我介绍——开课——引入——展开——举例——小结——作业一、自我介绍和课程介绍约8min 课时:64 二、引入约2min 由问题的提出引入三、讲课进程设计1.1 什么是数据结构  1.1.1、数据结构与其它的关系约15min 数据结构+算法=程序程序设计: 为计算机处理问题编制一组指令集算法: 处理问题的策略数据结构: 问题的数学模型  1.1.2、当今计算机应用的特点:
约25min l) 所处理的数据量大且具有一定的关系;
2) 对其操作不再是单纯的数值计算,而更多地是需要对其进行组织、管理和检索。
举例说明:
1) 学生成绩表2)井安棋对弈3)交通管理结论计算机的操作对象的关系更加复杂,操作形式不再是单纯的数值计算,而更多地是对这些具有一定关系的数据进行组织管理;
我们将此称为非数值性处理。要使计算机能够更有效地进行这些非数值性处理,就必须弄清楚这些操作对象的特点,在计算机中的表示方式以及各个操作的具体实现手段。
1.2 基本概念和术语1.1.1、数据与数据结构约20min 数据:是对客观事物的符号表
示。
所有能被输入到计算机中,且能被计算机处理的符号的集合。是计算机操作的对象的总称。是计算机处理的信息的某种特定的符号表示形式。
数据元素:是数据(集合)中的一个“个体”,是数据结构中讨论的基本单位。
数据对象:是性质相同的数据元素的集合,是数据的一个子集。
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。这种集合称为结构。
数据的逻辑结构可归结为以下四类: 种类特征示例集合元素间为松散的关系线性结构元素间为严格的一对一关系如上面的成绩表中各元素树形结构元素间为严格的一对多关系图状结构(或网状结构)元素间为多对多关系数据结构的形式定义为:数据结构是一个二元组数据的存储结构:——逻辑结构在存储器中的映像数据元素的映象方法:计算机中存储信息的最小单位:位,8位为一字节,两个字节为一字,字节、字或更多的二进制位可称为位串。在逻辑描述中,把位串称为元素或结点。
关系的映象方法:顺序映象链式映象1.2.2、数据类型约5min 数据类型是一个值的集合和定义在此集合上的一组操作的总称。
1.2.3、抽象数据类型约20min 是指一个数学模型以及定义在此数学模型上的一组操作。
关键:使用它的人可以只关心它的逻辑特征,不需要了解它的存储方式。定义它的人同样不必要关心它如何存储。
抽象数据类型表示法:
三元组表示:(D,S,P)其中D是数据对象,S是D上的关系集,P是对D的基本操作集。
书中的定义格式:
ADT 抽象数据类型名{ 数据对象:数据对象的定义数据关系:数据关系的定义基本操作:基本操作的定义}ADT 抽象数据类型名ADT 有两个重要特征: 数据抽象数据封装四、本次课小结:
约3min 1. 熟悉各名词2. 术语的含义3. 掌握基本概念五、作业约2min 2、什么是数据结构?课时授课计划2020-2020学年第二学期
第1周授课日期2月24日星期5 月日星期月日星期月日星期月日星期班级信管10-1 基本课题抽象数据类型的表示与实现算法和算法分析教学目的与要求:
类C语言的各种句型及算法描述的规范教学重点:
类C语言的各种句型及算法描述的规范教学难点:
类C语言的各种句型及算法描述的规范作业及参考书:
《数据结构算法实现及解析》/高一凡编著教具:
多媒体板书课堂类型:
讲授教学过程:复习——引入——展开——举例——小结——作业一、复习:
约5min 1、数据结构的基本概念2、一些基本术语二、引入约2min 由程序设计过程遇到的问题引入三、讲课进程设计  1.3抽象数据类型的表示与实现  1.3.1基本操作:约15min AssignComplex( Z, v1, v2 ) 操作结果:构造复数Z,其实部和虚部分别被赋以参数v1 和v2 的值。
DestroyComplex( Z) 操作结果:复数Z被销毁。
GetReal( Z, realPart ) 初始条件:复数已存在。
操作结果:用realPart返回复数Z的实部值。
GetImag( Z, ImagPart ) 初始条件:复数已存在。
操作结果:用ImagPart返回复数Z的虚部值。
Add( z1,z2, sum ) 初始条件:z1, z2是复数。
操作结果:用sum返回两个复数z1, z2 的和值。
1.3.2对本书所采用的类C语言作简要说明约18min 1. 预定义常量及类型2、数据结构的存储结构typedef 3、算法描述为以下的函数形式:
4. 在算法描述中可以使用的赋值语句形式有:
5. 在算法描述中可以使用的选择结构语句形式有:
6. 在算法描述中可以使用的循环结构语句形式有:
7. 在描述算法中可以使用的结束语句形式有:
8. 在算法描述中可以使用的输入输出语句形式有:
9. 在算法描述中使用的注释格式为:
10. 在算法描述中可以使用的扩展函数有:
11.逻辑运算约定1.4算法和算法分析1.4.1、算法约10min 算法是为了解决某类问题而规定的一个有限长的操作序列。一个算法必须满足以下五个重要特性:1.有穷性2.确定性3.可行性4.有输入5.有输出1.4.2、算法设计的原则约10min 设计算法时,通常应考虑达到以下目标:
1.正确性2. 可读性3.健壮性4.高效率与低存储量需求1.4.3、算法效率的衡量方法和准则约20min 通常有两种衡量算法效率的方法事后统计法缺点:1.必须执行程序2.其它因素掩盖算法本质事前分析估算法和算法执行
在计算
算法的存储量包括: 1.输入数据所占空间2.程序本身所占空间3.辅助变量所占空间四、小结:
约5min 1. 理解算法五个要素的确切含义。
2. 掌握计算语句频度和估算算法
五、作业约5min 1、试编写算法求一元多项式Pn(x)=a0+a1x+a2x2+a3x3+…anxn的值Pn(x0),并确定算法中的每一语句的执行次数和整个算法的
• 试讨论这两种方法的优缺点,并在本题算法中以你认为较好的一种方式实现输入和输出。
c语言基本名词概念课时授课计划2020-2020学年第二学期
第2周授课日期2月27 日星期月日星期月日星期月日星期月日星期班级信管10-1 基本课题线性表的类型定义线性表的顺序表示和实现教学目的与要求:
1、掌握线性表的概念和类型定义
2、掌握线性表的顺序表示和实现方法教学重点:
线性表的类型定义线性表的顺序表示和实现方法教学难点:
线性表的类型定义线性表的顺序存储的实现方法作业及参考书:
《数据结构算法实现及解析》/高一凡编著教具:
多媒体板书课堂类型:
讲授教学过程:复习——引入——展开——举例——小结一、引入约3min 由顺序的算法引入二、讲课进程设计2.1线性表的类型定义12.1.1线性表的定义约27min 线
性表是由n(n≥0)个类型相同的数据元素组成的有限序列。
抽象数据类型线性表的定义如下:
ADT List { 数据对象D={ ai | ai ∈ElemSet, i=1,2,...,n, n≥0 } {称n 为线性表的表长; 称n=0 时的线性表为空表。} 数据关系R1={ ai-1 ,ai |ai-1 ,ai∈D, i=2,...,n } 基本操作:结构初始化操作:
InitList( L ) 操作结果:构造一个空的线性表L。结构销毁操作:
DestroyList( L ) 初始条件:线性表L 已存在。操作结果:销毁线性表L。
引用型操作ListEmpty( L )(线性表判空)ListLength( L )(求线性表的长度)PriorElem( L, cur_e, pre_e )(求数据元素的前驱)NextElem( L, cur_e, next_e )(求数据元素的后继)GetElem( L, i, e )(求线性表中某个数据元素)LocateElem( L, e, compare( ) )(定位函数)ListTraverse(L, visit( ))(遍历线性表)加工型操作ClearList( L )(线性表置空)PutElem( L, i, e )(改变数据元素的值)ListInsert( L, i, e )(插入数据元素)ListDelete(L, i, e) (删除数据元素)2.1.2举例约10min 两个线性表合并LA和LB 2.2 线性表的顺序表示和实现2.2.1顺序映象约15min ——以x 的存储位置和y 的存储位置之间某种关系表示逻辑关系x,y。
最简单的一种顺序映象方法是:
令y的存储位置和x的存储位置相邻。线性表的基本操作在顺序表中的实现InitList(L) // 结构初始化Locate
Elem(L, e, compare()) // 查ListInsert(L, i, e) // 插入元素ListDelete(L, i) // 删除元素2.1.1、线性表操作约20min ListInsert(L, i, e)的实现:首先分析插入元素时,线性表的逻辑结构发生什么变化?线性表操作ListDelete(L, i, e)的实现:
首先分析:
删除元素时,线性表的逻辑结构发生什么变化?线性表类型的实现2.1.2、线性表顺序存储结构的特点:
约20min 它是一种简单、方便的存储方式。它要求线性表的数据元素依次存放在连续的存储单元中,从而利用数据元素的存储顺序表示相应的逻辑顺序,这种存储方式属于静态存储形式。
暴露的问题(1)在做插入或删除元素的操作时,会产生大量的数据元素移动;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。