欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

python 最小堆使用

吉茹定2年前10瀏覽0評論

Python中,最小堆是一種常見的數據結構,它允許我們以O(log n)的時間復雜度快速查找、刪除和插入最小元素。

import heapq
# 創建空堆
heap = []
# 向堆中插入元素
heapq.heappush(heap, 3)
heapq.heappush(heap, 1)
heapq.heappush(heap, 7)
heapq.heappush(heap, 2)
# 查找最小元素
print(heap[0])  # 輸出1
# 刪除最小元素
heapq.heappop(heap)
# 打印堆中剩余元素
print(heap)  # 輸出[2, 3, 7]

在上面的代碼中,我們使用內置的heapq模塊來創建和操作最小堆。首先,我們創建了一個空的heap。然后使用heapq.heappush()函數向堆中插入元素。該函數將元素插入堆中并重新保持堆的最小性質。接下來,我們使用索引訪問堆中的最小元素,并使用heapq.heappop()函數刪除堆中的最小元素。最后,我們打印出剩余元素。

最小堆的應用范圍很廣泛。例如,在啟發式搜索算法中,我們可以使用最小堆來維護未探索的節點,并在每次迭代中選擇最小的未探索節點進行擴展。此外,在一些圖算法中,最小堆也是一個有用的工具。