用python编写一个冒泡排序算法,待排序数据为随机生成 数据,第一次对一个数据排序,第二次对两个数据排序,第n次对n个数据排序,依次类推分别执行100次排序
时间: 2024-02-19 20:58:47 浏览: 69
好的,下面是用 Python 编写的冒泡排序算法,按照您的要求进行了优化:
```python
import random
import time
def bubble_sort(arr):
for i in range(len(arr)):
for j in range(len(arr) - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
# 生成随机数据
data = []
for i in range(1, 101):
data += [random.randint(1, 10000) for j in range(i)]
# 对数据进行 100 次排序,并统计时间
for i in range(1, 101):
start_time = time.time()
bubble_sort(data[:i])
end_time = time.time()
print(f"第{i}次排序,数据量为{i},用时{end_time - start_time:.6f}秒")
```
代码中,我们首先利用`random`模块生成了随机数据,然后对数据进行了 100 次排序,每次排序的数据量从 1 逐渐增加到 100,最后输出了每次排序所用的时间。
需要注意的是,由于排序算法的时间复杂度较高,因此如果数据量太大,程序可能需要较长时间才能完成。在本例中,我们最多只对 100 个数据进行排序,因此程序可以在很短的时间内完成。
阅读全文