Python学习笔记:4.1.4 队列

本文是关于Python中队列的学习笔记,详细介绍了队列的概念、使用链表和Python内置`queue`模块实现队列的方法,包括FIFO、LIFO和优先级队列。还探讨了`collections.deque`作为双向队列的应用。
摘要由CSDN通过智能技术生成

本文是学习陆老师的《python全栈工程师 - 数据结构与算法》课程的笔记,欢迎学习交流。同时感谢陆老师的精彩传授!

一、课程目标
  • 队列的概念
  • 队列的python实现
二、详情解读

01.什么是队列: 队列是一种线性表

1、队列从尾部插入、从头部弹出
2、队列的数据访问遵从FIFO(first-in first-out)协议
3、除了基本队列结构以外还有双向队列与优先队列

在这里插入图片描述
02.队列的Python实现
主要方法列表:

方法 说明
q.isEmpty() 队列是否为空
q.__ len __() 队列中的项目数
q.put() 在队列压入一项
q.get() 如果q不为空,返回并删除第一项,否则抛出错误EmptyError

队列的实现
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
链表实现队列

1、使用链表实现队列,从链表首部压入与尾部弹出
2、需要设定一个尾部位置标志
3、时间复杂度为O(1)

在这里插入图片描述
02.Python内置队列

queue模块与collections.deque

1.queue.Queue - FIFO队列
2.queue.LifoQueue - LIFO队列
3.queue.PriorityQueue - 优先级队列
4.queue.deque(collections.deque) - 双向队列

队列中常用方法

方法 说明
q.empty() 队列是否为空
q.qsize() 队列中的项目数
q.full() 队列是否已满
q.put() 插入数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值