栈和队列关键点
- Stack:先进后出(first in last out);添加、删除皆为O(1),查询为O(n)
- Queue:先进先出(first in fist out);添加、删除皆为O(1)
两者元素是无序的,查询需要一个一个遍历,查询皆为O(n)
双端队列:
Deque:
- 简单理解:两端可以进出的Queue
Deque-double ended queue
- 插入、删除都是O(1)操作,查询O(n)
Priority Queue:
- 插入操作:O(1)
- 取出操作:O(logN)-按照元素的优先级取出
- 底层具体实现的数据结构较为多样和复杂:heap、bst(二叉搜索树)、treap