下面是一个示例代码,展示了使用先排序再选择和先选择再排序的两种方法,并比较了它们的性能。
import random
import time
# 先排序再选择
def sort_then_select(nums, k):
sorted_nums = sorted(nums)
return sorted_nums[k-1]
# 先选择再排序
def select_then_sort(nums, k):
selected_nums = random.sample(nums, k)
return sorted(selected_nums)[k-1]
# 生成一个包含10000个随机整数的列表
nums = random.sample(range(1, 100000), 10000)
# 测试先排序再选择的性能
start_time = time.time()
result1 = sort_then_select(nums, 5000)
end_time = time.time()
print("先排序再选择的结果为:", result1)
print("先排序再选择的运行时间为:", end_time - start_time)
# 测试先选择再排序的性能
start_time = time.time()
result2 = select_then_sort(nums, 5000)
end_time = time.time()
print("先选择再排序的结果为:", result2)
print("先选择再排序的运行时间为:", end_time - start_time)
这个示例代码首先定义了两个函数:sort_then_select
和select_then_sort
,分别实现了先排序再选择和先选择再排序的方法。然后,生成一个包含10000个随机整数的列表nums
。
接下来,分别调用了sort_then_select
和select_then_sort
函数,并记录了它们的运行时间。最后,打印出两种方法的结果和运行时间。
请注意,由于这只是一个示例,实际的性能比较结果可能会因为数据规模、算法复杂度等因素而有所不同。
上一篇:按照项之间的距离对数组进行排序
下一篇:按照显示不包括的列进行分组。