バブルソートを自己実装
By on Sep 4, 2019
- クラス ソート
- データ構造 配列
- 最悪計算時間 O(n^2)
- 最良計算時間 O(n)
- 平均計算時間 O(n^2)
- 最悪空間計算量 O(1)
- アルゴリズムが単純で実装が容易なため、また並列処理との親和性が高い
- 安定な内部ソート。
- 別名:基本交換法、隣接交換法
バブルソート
# coding: UTF-8
# バブルソート(昇順)
def bubble_sort(target):
for i in range(0, len(target)):
for j in (range(len(target) - 1, i, -1)):
# 後ろから隣り合う2つを比べて
# 最も小さな数を左に格納してゆく
if target[j] < target[j - 1]:
target[j], target[j - 1] = target[j - 1], target[j]
return target
if __name__ == "__main__":
target = [5, 9, 3, 1, 2, 8, 4, 7, 6]
expected = bubble_sort(target)
print(expected)