阅读量:1
要使用Python实现最小堆排序,可以按照以下步骤进行:
- 创建一个最小堆函数。在该函数中,可以使用heapq模块的heapify函数将列表转换为最小堆。然后使用heappop函数逐个弹出最小值,并将其添加到一个新的有序列表中。
import heapq def min_heap_sort(nums): heapq.heapify(nums) sorted_nums = [] while nums: sorted_nums.append(heapq.heappop(nums)) return sorted_nums
- 调用最小堆排序函数并传入待排序的列表。函数将返回一个有序的列表。
nums = [4, 2, 7, 1, 3] sorted_nums = min_heap_sort(nums) print(sorted_nums) # 输出 [1, 2, 3, 4, 7]
以上代码演示了如何使用Python实现最小堆排序。首先,使用heapify函数将列表转换为最小堆。然后,使用heappop函数将最小的元素依次弹出,形成有序的列表。最后,输出有序的列表。