队列

队列(英语:Queue)Wiki 【队列】

特点

  1. 是[先进先出](FIFO, First-In-First-Out)的线性表。
  2. 队列只允许在后端(称为rear)进行插入操作,在前端(称为front)进行删除操作。


api及时间复杂度
api 作用 时间复杂度
enqueue 增加节点到尾端 O(1)
dequeue 删除并返回队列顶端节点数据 O(n)
front 返回队列顶端数据 O(1)
len 返回队列的长度 O(1)
is_empty 返回队列是否为空 O(1)


问题
  • 直接删除顶端节点时间复杂度为O(n)


解决
  • 不删除顶端节点,将其赋值为None
  • 将Queue头尾相连以解决假满队问题


实现
  • python: gist link


相关
  • 优先队列

    推荐阅读