泡の位置合わせ
バブルソートとは?
水の中の泡が上に上がるように、大きな値は後ろに移動する方法です.そして、決定された大きい値を除き、残りの値の大きい値を後ろに送信する.
バブルソートプロセス
バブルソートコード
def bubbleSort(arr):
for i in range(len(arr)):
for j in range(1, len(arr) - i):
if arr[j] < arr[j-1]:
arr[j-1], arr[j] = arr[j], arr[j-1]
return arr
print(bubbleSort([3, 2, 6, 8, 1]))
Pythonで書きます.時間の複雑さ
1回目の繰返しでは,最大値をn回後方に送信し,その値を除いて配列の大きさは徐々に減少し,n+(n−1)+(n−2)+...+2+1=n(n−1)/2であり、O(n^2)の時間的複雑さを有する.発泡ソートはソートの有無を考慮せず,無条件に2元素を比較する方式であるため,最適,平均,最悪の時間複雑度O(n^2)は同じである.
くうかんふくざつさ
アレイ内部で2つの要素を比較・交換する方式であるため,空間的複雑度はO(N)である.
長所
短所
Reference
この問題について(泡の位置合わせ), 我々は、より多くの情報をここで見つけました https://velog.io/@q6801/거품-정렬-Bubble-Sortテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol