Heap(堆)

堆是一个经常被使用到的数据结构,LeetCode上相关的题有很多,如Ugly Number IIMerge K sorted ListsKth Largest Element in Array, Find Median from Data Stream

这里只写堆这个数据结构本身的实现,对其应用的题另外开辟一个专栏

  • 堆是一个完全二叉树,即最后一层的结点肯定都是左部分全满的
  • 堆一般情况下都是用数组表示,也叫Binary Heap(二叉堆)
  • 堆有最大堆和最小堆,Python里面提供的模块heapq是其中的最小堆
  • 堆排序的时间复杂度是O(nlgn),属于稳定且O(1)空间复杂度的排序算法

results matching ""

    No results matching ""