3.2队列 课件-2022-2023学年浙教版(2019)高中信息技术选修1

2023-03-06
| 23页
| 1732人阅读
| 22人下载
特供

资源信息

学段 高中
学科 信息技术
教材版本 高中信息技术浙教版选修1 数据与数据结构
年级 高二
章节 3.2 队列
类型 课件
知识点 -
使用场景 同步教学
学年 2023-2024
地区(省份) 浙江省
地区(市) -
地区(区县) -
文件格式 PPTX
文件大小 1.88 MB
发布时间 2023-03-06
更新时间 2023-03-06
作者 匿名
品牌系列 -
审核时间 2023-03-06
下载链接 https://m.zxxk.com/soft/37905307.html
价格 2.00储值(1储值=1元)
来源 学科网

内容正文:

3.2队列(1) 队列的概念与特性 一、队列的概念 队列是一种先进先出的线性表,允许插入的一端称为队尾,允许删除的一端称为队首。 入 队:在队列中插入一个元素的过程 出 队:从队列中删除一个元素的过程 出队 入队 队首元素 队尾元素 队列的概念与特性 二、队列的特性 1.先进先出、后进后出(FIFO):由队列的定义可知,队列具备“先进先出、后进后出”的特点。如图所示,出队时,对首元素a1优先出队,紧接着是a2,a3,……,an-1 ,队尾元素an最后出队。 a1 a2 a3 a4 a5 入队 队首元素 队尾元素 a5 a4 a3 a2 a1 出队 队首元素 队尾元素 队列的概念与特性 二、队列的特性 出队 入队 队首元素 队尾元素 只有一个后继点 只有一个前驱点 一个前驱&一个后继 2.有限序列性:队列也是一种线性表结构,元素个数是有限的。 队列可以是空的,也可以包含多个元素。 队列中所有元素呈线性特征,队首元素只有一个后继点,队尾元素只有一个前驱点,其他元素既有一个前驱点,又有一个后继点。 队列的基本操作 一、队列的存储结构 队列一般按顺序结构存储,可以用数组来实现。出入队时,队首和队尾元素的位置在不断改变,因此需设置头指针head记录队首元素位置,尾指针tail队尾元素的下一个位置。初始时,head指针和tail指针均记录下标为0的位置。 a1 a2 a3 a4 0 1 2 3 队列元素 数组下标 队列的基本操作 1.建队 由于队列以数组形式存储,因此Python中用列表创建队列。 例如,有3个字母“A”“B”“C”按序入队、出队时,可以创建一个队列que,长度为4,Python代码如下所示。 0 1 2 3 队列元素 数组下标 head=0 tail=0 初始时,head指针和tail指针均记录下标为0的位置。 head=0#设置头指针 tail=0#设置尾指针 que=[""]*4 队列的基本操作 2.入队 0 1 2 3 队列元素 数组下标 head=0 tail=0 建队: head=0 tail=0 que=[""]*4 初始状态 0 1 2 3 0 1 2 3 A A入队: que[tail] =“A” tail+=1 tail=1 head=0 A B B入队: que[tail] =“B” tail+=1 tail=2 head=0 0 1 2 3 A B C入队: que[tail] =“C” tail+=1 tail=3 head=0 C 队列的基本操作 2.入队 head = 0 tail = 0 que = [“”] * 4 que[tail] =“A” tail +=1 que[tail] =“B” tail +=1 que[tail] =“C” tail +=1 head = 0 tail = 0 que = [“”] * 4 a=["A", "B", "C"] # 元素依次入队 for i in range(len(a)): ________________ tail += 1 que[tail] = a[i] 0 1 2 3 A B tail=3 head=0 C 【思考】此时可否让字母"D"入队?若可以,请写出入队的代码; 若不可以,请说明原因。 满队列 每个元素入队都让tail指针+1,当tail到达最大下标时不能再增加 队列中最多存储maxsize-1个元素 队列的基本操作 3.出队 0 1 2 3 C B A 初始状态 tail=3 head=0 0 1 2 3 head B A C tail 排在队首的元素依次出队,head指针变量依次加1,直至head值等于tail值时,队列为空 head = 0 tail = 3 que = [“A”,“B”,“C”] print(que[head]) head +=1 print(que[head]) head +=1 print(que[head]) head +=1 队列的基本操作 3.出队 0 1 2 3 head tail 排在队首的元素依次出队,head指针变量依次加1,直至head值等于tail值时,队列为空 head = 0 tail = 3 que = [“A”,“B”,“C”] print(que[head]) head +=1 print(que[head]) head +=1 print(que[head]) head +=1 head = 0 tail = 3 que = [“A”,“B”,“C”] # 元素依次出队 while ________________: print(que[head])

资源预览图

3.2队列 课件-2022-2023学年浙教版(2019)高中信息技术选修1
1
3.2队列 课件-2022-2023学年浙教版(2019)高中信息技术选修1
2
3.2队列 课件-2022-2023学年浙教版(2019)高中信息技术选修1
3
3.2队列 课件-2022-2023学年浙教版(2019)高中信息技术选修1
4
3.2队列 课件-2022-2023学年浙教版(2019)高中信息技术选修1
5
3.2队列 课件-2022-2023学年浙教版(2019)高中信息技术选修1
6
所属专辑
相关资源
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。