什麼是最小堆積和最大堆積

在資料結構和算法中,堆積(Heap)是一種特殊的樹形資料結構,滿足以下兩種特性之一:

最小堆積(Min Heap):根節點的值是所有節點中最小的。 最大堆積(Max Heap):根節點的值是所有節點中最大的。

堆積通常用完全二叉樹來實現,且滿足以下特性:

  1. 父節點的索引是子節點索引的兩倍。
  2. 完全二叉樹的每一層都從左到右填滿,除了最底層可能不完整。

在最小堆積中,每個父節點的值都不會大於其子節點的值。在最大堆積中,每個父節點的值都不會小於其子節點的值。

堆積可以用來實現優先佇列,因為它們可以快速地插入和刪除最小(或最大)元素。堆積的操作時間通常是對數時間的,這使得它們在高維搜尋、數學規劃和實時系統中非常有用。