队列

队列(英语: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


相关

  • 优先队列

你可能感兴趣的:(队列)