什麼是最大堆積

最大堆(Max-Heap)是一種二叉堆(Binary Heap),它滿足下列條件:

  1. 堆的每一個父節點的值都大於或等於其子節點的值。
  2. 堆的結構保持完全二叉樹的形狀,除了最底層可能未填滿。

最大堆可以分為最大左斜堆(Max-Leftist Heap)和最大權值堆(Max-Weighted Heap)等不同類型,但它們都遵循上述的兩條原則。

最大堆可以用來構建一個近似於最大堆排序的算法,這種算法的時間複雜度通常為 O(n log n),其中 n 是堆中的元素數量。最大堆排序算法通常用來解決頂層優先的問題,例如在一個優先級佇列中,我們希望優先處理具有最高優先級的任務。