优先队列
普通队列:先进先出,后进后出
优先队列:出队顺序与入队顺序无关,与优先级有关
时间复杂度:
入队 | 出队 | |
普通线性结构 | O(1) | O(N) |
顺序线性结构 | O(N) | O(1) |
堆 | O(logn) | O(logn) |
堆的基本结构
堆也是树,主要介绍二叉堆(Binary Heap)
二叉堆是完全二叉树(完全二叉树缺失的叶子节点都在右下侧,节点从左到右)
堆中某个节点的值总是不大于其父节点的值
普通队列:先进先出,后进后出
优先队列:出队顺序与入队顺序无关,与优先级有关
时间复杂度:
入队 | 出队 | |
普通线性结构 | O(1) | O(N) |
顺序线性结构 | O(N) | O(1) |
堆 | O(logn) | O(logn) |
堆也是树,主要介绍二叉堆(Binary Heap)
二叉堆是完全二叉树(完全二叉树缺失的叶子节点都在右下侧,节点从左到右)
堆中某个节点的值总是不大于其父节点的值