post-image

バブルソートを自己実装


  • クラス ソート
  • データ構造 配列
  • 最悪計算時間 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)

Back to blog

あなたのひらめきをかたちに

どうやって作るのか想像がつかなければ、一緒に作り上げましょう.

お話をうかがさせてください