Python クイックソート実装:基本とコード例

クイックソートは一般的なソートアルゴリズムであり、基本的なアイデアは、基準値を選択し、配列を2つの部分に分けることである。一方は基準値より小さく、他方は基準値より大きくなります。そして、それぞれの部分の配列を再帰的にソートします。

Pythonでクイックソートを実装するコードの例を以下に示します:

def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    else:
        pivot = arr[0]
        less = [x for x in arr[1:] if x <= pivot]
        greater = [x for x in arr[1:] if x > pivot]
        return quick_sort(less) + [pivot] + quick_sort(greater)

# 测试示例
arr = [3, 6, 8, 10, 1, 2, 1]
sorted_arr = quick_sort(arr)
print(sorted_arr)

この例では、クイックソートアルゴリズムを実装するためにquick_sort関数を定義します。まず、配列の長さが1以下かどうかを判断し、そうであれば配列を直接返します。そうでなければ、配列の最初の要素を基準値として選択し、リスト内包表記を使用して基準値以下および基準値より大きい2つのサブ配列lessとgreaterを取得し、最後にそれぞれのサブ配列に再帰的にソートを行い、結果をマージして返します。

Pythonのインタプリタに上記のコードをコピー&ペーストして実行し、クイックソートアルゴリズムの効果をテストできます。

bannerAds