挿入ソートは、リスト内の値をインデックス順に見ていき、現在の値よりも小さいものがあったら、その値を適切な位置まで移動させるようなソート方法です。この記事では、Pythonでの挿入ソートの実装について説明します。
まず、挿入ソートの基本的なアルゴリズムを見てみましょう。
def insertion_sort(numbers):
for i in range(1, len(numbers)):
key_item = numbers[i]
j = i - 1
while j >= 0 and numbers[j] > key_item:
numbers[j + 1] = numbers[j]
j -= 1
numbers[j + 1] = key_item
return numbers
このコードは、リストnumbers
の各要素を順番に見ていき、それがソート済みの部分列に対して適切な位置にあるかどうかを確認します。もし適切な位置になければ、その要素を適切な位置に挿入します。
このアルゴリズムは、リストがすでにソートされている場合には最も効率的ですが、逆順にソートされている場合には最も非効率的です。そのため、挿入ソートは一般的に小さなリストやほぼソートされているリストに対して使用されます。
以上がPythonでの挿入ソートの基本的な説明と実装方法です。このアルゴリズムを理解し、適切に使用することで、より効率的なコードを書くことができます。
参考動画: Insertion Sort in Python – YouTube, Insertion Sort In Python Explained (With Example And Code).