《数据结构[Python 语言描述]》 教案 第7课 栈和队列(3.5-3.7).pdf
课题第7课栈和队列(3.5-3.7)
课时2课时(90min)
知识目标:
(1)理解队列的定义及其基本操作
(2)掌握队列的顺序和链式两种存储结构及其基本操作的实现
教学目标技能目标:
能使用队列解决程序设计中的问题
素质目标:
理解队列的原则,养成遵守规则的良好习惯
教学重点:队列的定义及其基本操作、队列的顺序和链式两种存储结构及其基本操作
教学重难点
教学难点:队列的顺序和链式两种存储结构及其基本操作
教学方法问答法、讨论法、讲授法、实践法
教学用具电脑、投影仪、多媒体课件、教材
教学过程主要教学内容及步骤
【教师】使用APP进行签到
考勤
【学生】班干部报请假人员及原因
【教师】提出以下问题:
问题导入如何理解队列?
【学生】思考、举手回答
【教师】通过学生的回答引入要讲的知识,介绍队列概述、队列的顺序存储、队列的链式存储
3.5队列概述
3.5.1队列的定义
✈【教师】随机邀请学生回答以下问题
栈与队列有什么区别?
✈【学生】聆听、思考、回答
与栈类似,队列也是一种操作受限的线性表,不同的是,队列只允许在表的一端进行插入操作,而
在另一端进行删除操作。通常将表中允许进行插入操作的一端称为队尾,允许进行删除操作的一端称为
队头。队列的插入操作称为进队(或入队),队列的删除操作称为出队(或退队)。当队列中没有元素
传授新知时称为空队。
✈【教师】用多媒体展示“队列的存储结构”图,并介绍该结构
进队
队尾an-1
…
a1
队头a01
出队
元素的进队和出队是按照“先进先出(firstinfirstout,FIFO)”的原则进行的,因此,队列又称为
“先进先出”的线性表。
【拓展阅读】
稍有礼仪讲究的地方,通常先来者都会优先于后来者。例如,在餐厅排队打饭时,应遵循先到先得
的原则;购买火车票时,也应遵循先到先得的原则等。
……(详见教材)
✈【教师】讲解实例3-8
【实例3-8】已知元素的进队顺序为A、B、C、D,写出可能的出队序列。
【问题分析】队列遵循“先进先出”的原则,因此进队顺序为A、B、C、D时只有一种出队序列,
即A、B、C、D。
3.5.2队列的基本操作
✈【教师】用多媒体展示“队列基本操作的定义”表格,并介绍基本操作
基本操作说明
__init__()初始化队列,即构造一个空队列