【发布时间】:2020-10-18 08:40:14
【问题描述】:
- 当我测量选择排序的时间时 随机数组大小为 10000,随机数范围为 1000 当大小为 1000000 时,它给了我 14 秒的时间 它给了我 1 分钟,我认为它应该小于 5 秒 你能帮我用算法来缩短时间吗
def selection_sort(selection_random_array):
for i in range(len(selection_array) - 1):
minimum_index = i
for j in range(i + 1, len(selection_array)):
if selection_array[j] < selection_array[minimum_index]:
minimum_index = j
selection_array[i], selection_array[minimum_index] = selection_array[minimum_index], selection_array[i]
return selection_array
print("--------selection_sort----------")
start1 = time.time()
selection_sort(selection_random_array)
end1 = time.time()
print(f"random array: {end1 - start1}")
【问题讨论】:
-
您的问题是“如何让排序更有效率”还是“如何准确计时”?
-
您的代码不起作用 --
selection_sort的参数名称是selection_random_array,但函数体使用selection_array。你能给出一个最小的工作示例(包括随机数组生成)。
标签: python-3.x algorithm sorting