千家信息网

Python中的队列是什么

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,这篇文章主要介绍"Python中的队列是什么",在日常操作中,相信很多人在Python中的队列是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Python中的队列是
千家信息网最后更新 2025年01月31日Python中的队列是什么

这篇文章主要介绍"Python中的队列是什么",在日常操作中,相信很多人在Python中的队列是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Python中的队列是什么"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

什么是队列?

队列是一种有序的数据集合
  • 新数据项的添加总发生在一端--队尾(rear)
  • 现存数据项的移除总发生在另一端--队头(front)


队列规则先进先出FIFO(First In First Out) ,先进入的数据先出去

队列仅有一个入口和一个出口 ,不允许数据项直接插入队列,也不允许从中间删除数据项

队列例子1:打印机的打印队列



队列例子2:进程调度

操作系统的内核采用了多个队列来对系统同时运行的进程进行调度

补充:
  • 一段不运行的代码--程序

  • 一段运行的代码--进程

  • 进程由许多线程组成

  • 进程的目的是实现程序的并发


CPU的内核利用队列调度进程(运行的代码),内核越多,CPU的性能越好。当进程的顺序出错导致资源分配死循环,就会出现进程死锁

进程调度特点:

  • 进程数越多于CPU核心数(于是就要进行进程调度)

  • 有些进程还要等待不同类型的I/O事件(I/O事件速度<

进程调度原则:

采用"先到先服务"和"资源充分利用"原则。因为CPU的内核进行进程调度采用的是队列,故对应"先到先服务"策略

队列例子3:键盘缓冲

键盘敲击速度较快,I/O事件速度较慢,故不会马上显示到显示屏上面,利用队列的特点(FIFO)存储敲击的进程

队列的操作函数

Queue()
创建队列
enqueue(item)
item添加到队尾
dequeue()从队首移除数据
isEmpty()
是否为空
size()
数据项个数

队列操作函数例子:


队列实现

利用python列表实现队列

class Queue():    """队列"""    def __init__(self):        self.items = []
def enqueue(self, item): """插入元素, 时间复杂度O(n)""" self.items.insert(0, item)
def dequeue(self): """删除元素,时间复杂度O(1)""" return self.items.pop()
def size(self): return len(self.items) def isEmpty(self): return self.items == []


到此,关于"Python中的队列是什么"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

0