python堆排序算法怎么使用

58次阅读
没有评论

共计 444 个字符,预计需要花费 2 分钟才能阅读完成。

Python 中的 heapq 模块提供了堆排序算法的实现。下面是一个使用堆排序算法对列表进行排序的示例:

import heapq

def heap_sort(nums):
    # 将列表转换为堆
    heapq.heapify(nums)
    
    sorted_nums = []
    while nums:
        # 从堆中弹出最小的元素,并添加到已排序列表中
        sorted_nums.append(heapq.heappop(nums))
    
    return sorted_nums

# 测试
nums = [3, 1, 4, 1, 5, 9, 2, 6, 5]
sorted_nums = heap_sort(nums)
print(sorted_nums)

输出:

[1, 1, 2, 3, 4, 5, 5, 6, 9]

在这个例子中,我们首先使用 heapify 函数将列表 nums 转换为一个堆。然后,我们使用 heappop 函数从堆中弹出最小的元素,并将其添加到已排序列表 sorted_nums 中。重复这个过程,直到堆为空。最后,我们返回已排序列表sorted_nums

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-21发表,共计444字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)