《数据结构[Python语言描述]》教案第6课栈和队列(3.3-3.4).docx
《《数据结构[Python语言描述]》教案第6课栈和队列(3.3-3.4).docx》由会员分享,可在线阅读,更多相关《《数据结构[Python语言描述]》教案第6课栈和队列(3.3-3.4).docx(6页珍藏版)》请在第壹文秘上搜索。
1、课题第6课栈和队列(3.33.4)课时2课时(90min)教学目标知识目标:(1)掌握链栈的存储结构及其基本操作的实现(2)理解递归的定义并掌握递归的调用方法技能目标:能使用递归方法解决实际问题,并写出优雅、简洁的代码素质目标:理解递归的核心思想,学会用分治法解决实际生活中遇到的问题教学重难点教学重点:链栈的存储结构及其基本操作、递归的定义和调用方法教学难点:链栈的基本操作、递归的调用方法教学方法问答法、讨论法、讲授法、实践法教学用具电脑、投影仪、多媒体课件、教材教学过程主要教学内容及步骤考勤【教师】使用APP进行签到【学生】班干部报请假人员及原因问题导入【教师】提出以下问题:如便螂栈的链式存
2、储?【蚂思考、传授新知【教师】通过学生的回答引入要讲的知识,介绍链栈的存储结构和基本操作、递归的定义和调用3.3栈的链式存储一链栈栈的链式存储是指,利用一个单链表依次存放自栈顶到栈底的数据元素,同时设置一个栈顶指针2P指示栈顶元素的当前位置。采用链式存储结构的栈称为链栈。3.3.1 倍栈的存储结构与单链表相同,链栈中元素的存储结构也称为结点,结点由数据域和指针域组成。通常,链栈中的第一个结点为栈顶元素,最后一个结点为栈底元素,故链表的头指针即为栈顶指针iop.*【教师】用多媒体展示“栈的链式存储结构”图,并介绍该结构topIlIII:IIIt1I的I;I【教师】随机邀请学生回答以下问题栈的顺序
3、存储与链式存储有哪些区别?【学生】聆听、思考、回答在链栈中,假设每个结点为StaCkNOde类对象,则结点的定义如下。classStackNode:#链栈结点类def_init_(self,data):#构造方法self.data=data#data属才生self.next=None#next属寸生【提示】由于进栈和出栈操作只能在栈顶进行,不存在其他位置的插入和删除操作,所以链栈中不设置头结3.3.2链栈中基本操作的实现1 .初始化链栈初始化链栈就是构造一个空栈。【算法描述】classLinkStack:definit(self):self.top=None#将栈顶指针置为空2 .判断链栈是否
4、为空【教师】随机邀请学生回答以下问题如何断链栈是否空?【学生】聆听、思考、回答判断链栈是否为空就是判断栈顶指针top是否为空.【算法描述】defStackEmpty(Self):returnself.topisNone3 .进栈链栈的进栈操作是指将元素为e的结点作为栈顶元素插入链栈中。【教师】用多媒体展示“链栈中元素的进栈过程“图(详见教材),并介绍具体步骤和算法描述链栈中元素进栈的具体步骤如下。(1)生成一个新结点,并令其数据域为e(2)将松点的靛指针指向栈顶元素。(3)将栈顶指针指向新结点。【算法描述】defpush(self,e):s=StackNode(e)s.next=self.to
5、pself.top=s4.出栈链栈的出栈操作是指将栈顶结点从链栈中删除。【教师】用多媒体展示“链栈中元素的出栈过程“图(详见教材),并介绍具体步骤和算法描述链栈中元素出栈的具体步骤如下。(1)判断链栈是否为空,若为空,则抛出异常。(2)将栈顶指针top指向当前栈顶结点的下一个结点。【算法描述】defpop(self):ifself.StackEmpty():raiseEXCePtiOn栈为空,无法删除!)temp=self.topself.top=self.top.nextreturntemp.data【算法分析】该算法的时间复杂度为0(1).【提示】链栈的进栈和出栈操作相当于单链表的头插入和
6、头删除。5.取栈顶元素取栈顶元素就是获取链栈中最后进栈的元素,其具体步骤如下.(1)判断链栈是否为空,若为空,则抛出异常。(2)返回栈顶指针top所指栈顶结点的值。【算法描述】defgetTop(self):ifself.StackEmpty():raiseEXCePtion(栈为空!)returnself.top.data【算法分析】该算法的时间复杂度为0(1).*【教师】讲解实例3-5(详见教材),并要求学生完成实例3-6(详见教材)【学生】聆听、思考、理解、记录任务实施任务利用建栈实现括号匹配的检验【教师】描述问题,分析问题,要求学生完成任务【问题描述】给定一个字符串sir,设计算法检验
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构【Python语言描述 数据结构 Python 语言 描述 教案 队列 3.3 3.4