欢迎来到天天文库
浏览记录
ID:14279753
大小:42.00 KB
页数:25页
时间:2018-07-27
《课程数据结构授课班级06高信息134》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、课程数据结构授课班级06高信息1342、业精于勤,荒于嬉;行成于思,毁于随——韩愈济南卫校课时授课计划(首页)课程:数据结构授课班级:06高信息课题:线性表的顺序存储结构及操作教师:何婷授课日期:授课方法:讲授、引导启发教学资源:教材、参考书学时:2课时目标:知识目标:1.掌握线性表的存储结构2.理解顺序表的插入、删除的算法能力目标:提高学生抽象思维能力与逻辑推理能力授课程序与授课提纲:1、复习2、课程内容:第二节线线性表的顺序存储结构及操作一、线性表顺序存储结构二、顺序表的数据类型描述三、顺序表的基本操作3、总结知识要点:4
2、、练习反馈重点与难点:重点:(1)线性表存储地址的计算(2)顺序表的插入与删除操作的算法难点:顺序表的插入与删除操作的算法解决方法: 利用游戏、示意图、程序段及框图多种手段,从现实到抽象层层深入说明顺序表的插入与删除操作的算法教学过程师生互动时间复习:复习线性表的特性;数据结构的学习内容;引入新课:"线性表的顺序存储结构及操作"新课内容第二节线性表的顺序存储结构及操作一、线性表顺序存储结构把线性表的数据元素按逻辑次序依次存放在一组地址连续的存储单元里【例】线性表La=(a1,a2,...,ai,,ai+1,...,an)如图
3、:序号存储单元存储地址1a1LL2a2L+1L+b............iaiL+iL+(i-1)bi+1ai+1L+i+1L+ib.........nanL+nL+(n-1)b占1字节占b字节问题:如果每个数据元素的存储字节不是1个字节,而是b字节,那么每个数据元素的存储地址应该怎样填写?总结:(1)基地址LOC(ai):线性表中第一个数据元素的存储位置(2)如果每个数据元素所占用的存储空间b,可利用公式: Loc(ai+1)=Loc(a1)+b(i-1) 计算任意数据元素的存储地址练习:①已知基地址为2600
4、,b=4,求第17个元素的存储地址二、顺序表的数据类型描述:提问,学生回答,引入新课引导学生根据定义,画出示意图前三列学生先独立思考问题,然后根据情况,让学生到黑板上填写示意图的最后一列老师总得出公式用彩色粉笔表示出公式,要求学生必须掌握当堂练习,巩固公式215538教学过程师生互动时间#defineELEMTYPEint#defineMAXSIZE100Typedefstruct{ELEMTYPEdata[MAXSIZE];Intlen;}SEQLIST;说明:①定义顺序表的数据类型名为:SEQLIST②该数据类型由二个数据
5、项:DATA[]、LEN【例】若:SEQLIST*La则:有La.lenLa.data[n](n=0,...,99)三、顺序表的基本操作1、顺序表的插入操作定义:插入操作是指在长度为n的线性表中第i(1≤i≤n)个元素之前插入一个元素X,使长度为n的线性表变为长度为n+1的线性表游戏:四个同学组成一个线性,在第二个同学之前插入一个新同学游戏说明:虽然只在第二同学前插入,但从第二同学开始的三同学都需要移动序号存储单元1a12a2......iaii+1ai+1......nan序号存储单元1a12a2......iXi+1aii
6、+2ai+1......n+1an将X插入到ai之前展示C程序段,说明顺序表的数据类型引导学生说出该段C语言程序的作用学生朗读插入操作的定义教师指挥学生完成游戏,让其他学生注意观察提问学生,总结说明引导学生修改示意图,完成插入操作5525教学过程师生互动时间总结:由于顺序存储结构是通过元素之间的存储位置的关系来反映逻辑关系,为了完成插入操作,满足插入元素与其前驱、后继元素之间的相邻关系,我们需要把原线性表第i个到第n个元素依次向后移动一个单元,然后再将X插入原ai所在位置顺序表中插入一个元素的算法(C语言):Intinsert
7、(SEQLIST*la,ELEMTYPEx,inti){intkIf(i<1
8、
9、i>la.len+1
10、
11、la.len>=MAXSIZE)①Return0;Else {for(k=la.len;k>=i;k--) ②La.data[k]=la.data[k-1];La.data[i-1]=x; ③La.len=la.len+1; ④Retuen1;}分析程序段得到顺序表中插入元素的算法框图2、顺序表的删除操作要求在顺序表中删除第i个元素示意图:序号存储单元1a12a2..
12、....iaii+1ai+1......nan序号存储单元1a12a2......iai+1......n-1an删除第i个元素思路:删除第i个元素,需要按ai+1,ai+2,,...an的次序进行前移一位操作顺序表中删除第i个元素的算法(C语言):intdelete(seq
此文档下载收益归作者所有