栈和队列的实现与特性

  • Stack:Last in - First out;添加、删除皆为 O(1);查询为 O(n)
  • Queue:Last in - Last out / First in - First out;添加、删除皆为 O(1);查询为 O(n)
  • Deque(Double-End Queue):常用。Stack 和 Queue 的结合,头和尾都可以进行出和入;插入和删除都是 O(1) 的操作;查询为 O(n)
  • Priority Queue
    • 插入操作 O(1)
    • 取出操作 O(logn) - 按照元素的优先级取出
    • 底层具体实现的数据结构较为多样和复杂:heap、BST、treap