【发布时间】:2021-10-03 18:49:58
【问题描述】:
这种方法可以被认为是冒泡排序的一种变体吗?如果不是,那么这种方法与冒泡排序的主要区别是什么?效率比较是什么?
def bubble_sort(arr):
for i in range(len(arr)):
for j in range(len(arr)-i):
if arr[i] > arr[j+i]:
arr[i], arr[j+i] = arr[j+i], arr[i]
return arr
if __name__ == '__main__':
arr = [21,4,1,3,9,20,25,6,21,14]
print(bubble_sort(arr))
输出:[1、3、4、6、9、14、20、21、21、25]
【问题讨论】:
-
对于冒泡排序实现来说,这是尽可能基本的。
-
您的代码效率低下的一个原因是
j从 0 开始。因此代码检查if arr[i] > arr[0+i],这显然不是真的。
标签: python algorithm sorting bubble-sort