网站建设资讯

NEWS

网站建设资讯

Python中的队列是什么

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

专注于为中小企业提供网站制作、成都做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业洪湖免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

什么是队列?

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

Python中的队列是什么


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

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

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


Python中的队列是什么


队列例子2:进程调度

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

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

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

  • 进程由许多线程组成

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

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

进程调度特点:

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

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

进程调度原则:

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

队列例子3:键盘缓冲    

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

队列的操作函数

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

队列操作函数例子:

Python中的队列是什么

队列实现

利用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中的队列是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


文章名称:Python中的队列是什么
网页地址:http://cdweb.net/article/pcoeoj.html