《数据结构[Python 语言描述]》 教案 第6课 栈和队列(3.3-3.4).pdfVIP

  • 6
  • 0
  • 约8.2千字
  • 约 6页
  • 2025-05-11 发布于江苏
  • 举报

《数据结构[Python 语言描述]》 教案 第6课 栈和队列(3.3-3.4).pdf

课题第6课栈和队列(3.3-3.4)

课时2课时(90min)

知识目标:

(1)掌握链栈的存储结构及其基本操作的实现

(2)理解递归的定义并掌握递归的调用方法

教学目标技能目标:

能使用递归方法解决实际问题,并写出优雅、简洁的代码

素质目标:

理解递归的核心思想,学会用“分治法”解决实际生活中遇到的问题

教学重点:链栈的存储结构及其基本操作、递归的定义和调用方法

教学重难点

教学难点:链栈的基本操作、递归的调用方法

教学方法问答法、讨论法、讲授法、实践法

教学用具电脑、投影仪、多媒体课件、教材

教学过程主要教学内容及步骤

【教师】使用APP进行签到

考勤

【学生】班干部报请假人员及原因

【教师】提出以下问题:

问题导入如何理解栈的链式存储?

【学生】思考、举手回答

【教师】通过学生的回答引入要讲的知识,介绍链栈的存储结构和基本操作、递归的定义和调用

3.3栈的链式存储——链栈

栈的链式存储是指,利用一个单链表依次存放自栈顶到栈底的数据元素,同时设置一个栈顶指针top

指示栈顶元素的当前位置。采用链式存储结构的栈称为链栈。

3.3.1链栈的存储结构

与单链表相同,链栈中元素的存储结构也称为结点,结点由数据域和指针域组成。通常,链栈中的

第一个结点为栈顶元素,最后一个结点为栈底元素,故链表的头指针即为栈顶指针top。

✈【教师】用多媒体展示“栈的链式存储结构”图,并介绍该结构

topan-1

a-

传授新知n2

a1

a0^

✈【教师】随机邀请学生回答以下问题

栈的顺序存储与链式存储有哪些区别?1

✈【学生】聆听、思考、回答

在链栈中,假设每个结点为StackNode类对象,则结点的定义如下。

classStackNode:#链栈结点类

def__init__(self,data):#构造方法

self.data=data#data属性

self.next=None#next属性

【提示】

由于进栈和出栈操作只能在栈顶进行,不存在其他位置的插入和删除操作,所以链栈中不设置头结

点。

3.3.2链栈中基本操作的实现

1.初始化链栈

初始化链栈就是构造一个空栈。

【算法描述】

classLinkSta

文档评论(0)

1亿VIP精品文档

相关文档