基本操作
任何一个数据结构,无非就是增删改查四大类:
功能 | 方法 | 时间复杂度 |
---|---|---|
增 | offer(E e) | O(logn) |
删 | poll() | O(logn) |
改 | 无直接的 API | 删 + 增 |
查 | peek() | O(1) |
这里 peek()
的时间复杂度很好理解,因为堆的用途就是能够快速的拿到一组数据里的最大/最小值,所以这一步的时间复杂度一定是 O(1)
的,这就是堆的意义所在。
那么我们具体来看
任何一个数据结构,无非就是增删改查四大类:
功能 | 方法 | 时间复杂度 |
---|---|---|
增 | offer(E e) | O(logn) |
删 | poll() | O(logn) |
改 | 无直接的 API | 删 + 增 |
查 | peek() | O(1) |
这里 peek()
的时间复杂度很好理解,因为堆的用途就是能够快速的拿到一组数据里的最大/最小值,所以这一步的时间复杂度一定是 O(1)
的,这就是堆的意义所在。
那么我们具体来看