我想知道此代码的整体时间复杂性!下面代码排列数组

发布于 2025-02-05 18:20:54 字数 404 浏览 2 评论 0原文

我使用堆函数对数组进行排序,

import heapq


arr =[-74, 0, -4, 20, 7, 1, -4700, 74, 21, 71000, 87, 400, 9]
print ("The array: ", arr)
print("")
heapArray = arr
length = len(arr)
heapq.heapify(heapArray)
sortedArray = []

for each in (arr[:length]):
    sortedArray.append(heapq.heappop(heapArray))
    
arr = sortedArray
print ("The sorted array is:", arr)

此代码对数组进行排序!我只想知道整体复杂性吗?

i used heap function to sort the array

import heapq


arr =[-74, 0, -4, 20, 7, 1, -4700, 74, 21, 71000, 87, 400, 9]
print ("The array: ", arr)
print("")
heapArray = arr
length = len(arr)
heapq.heapify(heapArray)
sortedArray = []

for each in (arr[:length]):
    sortedArray.append(heapq.heappop(heapArray))
    
arr = sortedArray
print ("The sorted array is:", arr)

this code sorts an array! i just want to know the overall complexity?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦冥 2025-02-12 18:20:54

堆排序是(n log n)算法。

使用hapq.heapify()将以线性时间为单位的数组;或者,o(n)。

python docs 供参考。

Heap sort is a (n log n) algorithm.

Using heapq.heapify() will sort the array in linear time; or, O(n).

Python Docs for reference.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文