冒泡排序算法的python编程实现,程序带有时间计算和空间计算功能
时间: 2024-02-15 17:02:37 浏览: 125
好的,下面是冒泡排序算法的 Python 实现,并包括时间计算和空间计算功能:
```python
import time
import sys
import random
def bubble_sort(arr):
n = len(arr)
for i in range(n-1):
for j in range(n-1-i):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
def main():
# 生成10000个随机数
arr = [random.randint(1, 100000) for i in range(10000)]
print("排序前的数组:", arr)
# 时间计算:记录排序开始时间
start_time = time.time()
bubble_sort(arr)
# 时间计算:记录排序结束时间
end_time = time.time()
print("排序后的数组:", arr)
# 时间计算:计算排序时间
sort_time = end_time - start_time
print("排序时间:%.6f秒" % sort_time)
# 空间计算:计算排序前后所占内存差值
memory_usage = sys.getsizeof(arr)
bubble_sort(arr)
memory_usage = sys.getsizeof(arr) - memory_usage
print("排序前后所占内存差值:%d字节" % memory_usage)
if __name__ == '__main__':
main()
```
以上程序包括了时间计算和空间计算功能,先生成了一个包含 10000 个随机数的数组,然后调用 `bubble_sort` 函数进行排序。排序前和排序后分别输出数组,然后计算排序时间和排序前后所占内存差值。
阅读全文