数据结构-堆的基本认识
- 堆的概念:堆(Heap)是计算机科学中一类特殊的数据结构,是最高效的优先级队列。堆通常是一个可以被看做一棵完全二叉树的数组对象。
- 如何判断堆-最大堆和最小堆:
堆首先是完全二叉树,在这个前提下还要满足每个节点大于等于孩子节点则是最大堆,而如果是每个节点都小于等于孩子节点则是最小堆。
- 最大堆:堆顶元素对应最大值
- 最小值:堆顶元素对应最小值
2.有关堆的时间复杂度
- 搜索:在堆里面说搜索一般指搜索堆顶元素,那么时间复杂度就是O(1)。但如果一定要查看任一元素,则时间复杂度是O(N)。
- 添加:O(logN)
- 删除:O(logN)
3.堆的基本操作有哪些(自行探索)
- 创建堆(最大堆|最小堆)
- 添加元素
- 获取堆顶元素
- 删除堆顶元素
- 堆的长度
- 堆的遍历 —类似于队列和栈,即边遍历边删除的方式
4.堆的详细示意
