python数据结构与算法 12队列的概念

什么是队列?

队列是有序数据集合,队列的特点,是在头部删除数据项,称为前端,在尾部增加数据项,称为后端。数据项总是在开始的时候排在队伍的后端,慢慢向前走,直到排到最前面,轮到它的时候离开队列。

刚进来的排在后端,待在队伍里时间最长的在前端,这种排列规则叫做FIFO,意思是“先进先出”,或者叫做“先来先服务”。

最简单的例子就是平时我们的排队,象排队买票看电影,在超市排队付款,在自助餐厅排队取盘子(嗯,盘子可是后进先出的,那是栈规则)。队列严格执行一字排开的规则,一个方向进,同一方向出,不许插队,不许离队。图1是个python数据对象的队列。


图1 数据队列

计算机科学里也有队列的例子,象我们实验室有30台电脑只有1台打印机,学生们要打印的时候,所有的打印任务排队等候,排在第一的马上就能打印,排在最后的就要等所有其他人都打完了才开始。随后我们会探讨这个很有意思的例子。

除打印队列外,操作系统使用了不同的队列控制系统进程。象调度系统就是使用了队列算法以保证尽可能快地执行程序,并响应尽可能多的用户。比如打字的时候有进发现敲了键盘,屏幕却延迟响应,这是因为系统系统正做其他事情,所以把键盘事件放在缓冲队列里,所以稍有延迟,不过最终还是会显示出来。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值