队列之循环队列

首先搞清楚什么是队列?

队列:只允许在一段进行插入,在另一端进行删除的线性表。
循环队列:具有队头指针和队尾指针,指示队列元素所在的位置,避免删除元素时移动大量元素。

循环队列特性:

  • 只能从队尾插入元素、在队头删除元素。
  • 先进先出(First In First Out)的线性表,先进入的元素出队,后进入的元素才能出队。

优点:

  • 相比普通的队列,元素出队时无需移动大量元素,只需移动头指针。
  • 适合处理用户排队等待的情况。

缺点:

  • 需要预先分配大量存储空间。

时间复杂度

  • 读取时的时间复杂度为O(1)。
  • 插入、删除时的时间复杂度为O(1)。

使用循环数组实现循环队列
Java中具体实现容器类ArrayDeque
具体详情查看原博文深入理解循环队列、
循环队列

你可能感兴趣的:(数据结构与算法)