堆堆堆是一种基于树结构的数据结构,具有高效的插入和删除操作。 堆本质是完全二叉树,常用的两种堆分别是: 最大堆:父节点的值小于或等于其子节点的值 最小堆:父节点的值大于或等于其子节点的值 堆通常用于实现优先队列或者堆排序等算法 1234567891011121314import heapq# 创建最小堆heap = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]heapq.heapify(heap)# 插入元素heapq.heappush(heap, 0)# 弹出最小元素min_element = heapq.heappop(heap)print("Min Heap:", heap)print("Min Element:", min_element) 优先队列/堆堆排序