-1
SO私は2つのバブルソートを持っている:1講義スライドから、別のは、私が自分で書いた:教授のバブルソートは、ソート
def lecture_bubble(L):
while True:
swapped = False
for i in range(len(L) -1):
if L[i] > L[i+1]:
L[i+1] ,L[i] = L[i], L[i+1]
swapped = True
if not swapped:
# No swaps this pass ; therefore sorted
return L
def bubble_sort(array):
for i in range(len(array)-1):
swapped = False
for j in range(len(array)-1,i,-1):
if array[j] < array[j-1]:
array[j], array[j-1] = array[j-1], array[j]
swapped = True
if not swapped:
return array
return array
は、それらの両方の比較:
Time taken for lecture_bubble is 4.485383749008179
Time taken for bubble_sort is 0.00061798095703125
[Finished in 4.6s]
できる人を私のbubble_sortが配列をソートする時間がかなり短くなっている理由を説明してください。
さらにバブルソートを改善できますか?
これを実際にどのようにテストしたかを確認する必要があります。私の推測:あなたは、あなたが既に教授の並べ替えで並べ替えた配列にあなたのバブルソートを呼び出す。 – user2357112