Python を使用してカウント並べ替えアルゴリズムを実装するにはどうすればよいですか?
カウンティング ソートは、特定の値範囲の整数または配列をソートするために使用できる線形時間計算量ソート アルゴリズムです。その基本的な考え方は、各要素が出現する回数を数え、その回数に基づいて要素を正しい位置に配置することです。以下では、Python を使用してカウントソートアルゴリズムを実装する方法と、具体的なコード例を紹介します。
まず第一に、カウントソートの核となる考え方を明確にする必要があります。カウントソートの実行手順は次のとおりです。
以下は、Python を使用してカウント並べ替えアルゴリズムを実装するコード例です:
def counting_sort(arr): # 找出最大值 max_val = max(arr) # 创建辅助数组count,并初始化为0 count = [0] * (max_val + 1) # 统计每个元素出现的次数 for num in arr: count[num] += 1 # 对count数组进行累加操作 for i in range(1, len(count)): count[i] += count[i - 1] # 创建结果数组result result = [0] * len(arr) # 将元素放置到正确的位置上 for num in arr: index = count[num] - 1 result[index] = num count[num] -= 1 # 返回结果数组 return result
次に、次の方法でカウント並べ替えアルゴリズムをテストできます:
arr = [4, 2, 3, 4, 1] sorted_arr = counting_sort(arr) print(sorted_arr)
Run上記のコードの場合、出力結果は [1, 2, 3, 4, 4] となります。
上記のコード例を通じて、カウント ソート アルゴリズムの実装手順が比較的単純であることがわかります。これは、特定の値の範囲を持つ配列に対して非常に効率的なソート アルゴリズムです。この記事が、カウント並べ替えアルゴリズムの理解と使用に役立つことを願っています。
以上がPythonを使用してカウントソートアルゴリズムを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。