《数据结构[Python语言描述]》教案第5课栈和队列(3.1-3.2).docx
《《数据结构[Python语言描述]》教案第5课栈和队列(3.1-3.2).docx》由会员分享,可在线阅读,更多相关《《数据结构[Python语言描述]》教案第5课栈和队列(3.1-3.2).docx(5页珍藏版)》请在优知文库上搜索。
1、课题第5课栈和队列(3.1-3.2)课时2课时(90min)教学目标知识目标:(1)理解栈定义及其基本操作(2)掌握顺序栈的存储结构及其基本操作的实现技能目标:能使用栈解决程序设计中的问题素质目标:培养科学严谨、精益求精的工匠精神教学重难点教学重点:栈定义及其基本操作、顺序栈的存储结构及其基本操作教学难点:顺序栈的存储结构及其基本操作教学方法问答法、讨论法、讲授法、实践法教学用具电脑、投影仪、多媒体课件、教材教学过程主要教学内容及步骤考勤【教师】使用APP进行签到【学生】班干部报请假人员及原因问题导入【教师】提出以下问题:日常生活中,栈的应用场景有哪些?【蚂思考、传授新知【教师】通过学生的回答
2、引入要讲的知识,介绍栈的定义和基本操作、顺序栈的存储结构和基本操作3.1 栈概述在日常生活中,栈的例子比比皆是,如圆柱形容器中乒乓球的装入和取出过程、摞盘子和取盘子的过程等,它们都遵循后进先出的规律.3.1.1 栈的定义栈是一种只允许在表的一端进行插入和删除操作的线性表。通常将表中允许进行插入和删除操作的一端称为栈顶,另一端称为栈底。栈的插入操作称为进栈(或入栈),栈的删除操作称为出栈(或退栈).当栈中没有元素时称为空栈。进栈出栈由于元素的插入和删除操作都是在栈顶进行,故栈顶元素的位置是动态变化的,它由一个称为栈顶指针的位置指示器指示。最先进栈的元素最后出栈,即元素的进栈和出栈是按照后进先出(
3、IaStinfirstout,LIFO)”的原则进行的,因此,栈又称为“后进先出的线性表。*【教师】讲解实例3-1,并邀请学生思考实例3-2(详见教材)【实例3-1】已知元素的进栈顺序为A、B、C、D,得到的出栈序列为B、C、D、Ae若用I表示进栈操作,O表示出栈操作,求元素执行的操作序列.【问题分析】如果元素的进栈顺序为A、B、C、D,要想B出栈,首先须A和B进栈并B出栈;然后C进栈,C出栈;接着D进栈,D出栈;最后A出栈,这样就得到了出栈序列B、C、D、Ae所以,元素执行的操作序列为IlOIO100e3.1.2栈的基本操作【教师】用多媒体展示“栈基本操作的定义”表,并说明各基本操作基本操作
4、说明初始化栈,即构造一个空栈StackEmptyO栈已存在的前提下,判断栈是否为空push(e)栈已存在的前提下,插入数据元素e成为新的栈顶元素pop()栈已存在的前提下,删除栈顶元素getTop()栈已存在的前提下,返回栈顶元素,即最后进栈的元素length()栈已存在的前提下,返回栈中实际元素的个数3.2栈的顺序存储顺序栈【教师】随机邀请学生回答以下问题如彳可理解栈的顺序存储?【学生】聆听、思考、回答栈的顺序存储是指,在内存中用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素。采用顺序存储结构的栈称为顺序栈。3.2.1 顺序栈的存储结构在采用顺序存储结构存储栈中的元素时,由于进栈和出栈
5、操作都是在栈的一端(栈顶)进行,因此需要增加一个栈顶指针top,用于指示某一时刻栈顶元素的位置。top指针指向栈顶元素存储位置的上一个存储位置,当t。P=O时为空栈。【教师】用多媒体展示“栈顶指针和栈中元素之间的关系”图片(详见教材),并进行讲解由图3-2可以看出,初始化栈时top=0,当有新的元素进栈时,新元素存入top所指的存储位置,并且top加1;当出栈时,top减1,栈顶元素出栈,3.2.2 顺序栈中基本操作的实现1 .初始化JlI刻字栈初始化顺序栈是为顺序栈动态分配存储空间,其具体步骤如下。(1)设置JI酹栈的最大容量。(2)设置I耐栈的存储空间。(3)将JI砺栈设置为空。【算法描述
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构【Python语言描述 数据结构 Python 语言 描述 教案 队列 3.1 3.2