基数ソートは「分散ソート」に属します。基数ソートは「バケット ソート」またはビン ソートとも呼ばれます。名前が示すように、キー値の部分的な情報を使用して、ソートする要素を特定の「バケット」に分散し、ソート効果を実現します。基数ソートは、時間計算量が O (nlog(r)m) の安定したソートです。ここで、r は基数、m はヒープの数です。場合によっては、基数ソートは他の比較ソート方法よりも効率的です。 効率分析: 時間効率: ソートするシーケンスが n レコード、d キーコード、キーコードの値の範囲が radix であると仮定します。チェーン radix ソートの時間計算量は O(d(n+radix)) です。1 回の割り当ての時間計算量は O(n)、1 回のコレクションの時間計算量は O(n) で、合計 d 回の割り当てとコレクションが実行されます。 スペース効率: キューを指すには 2*radix の補助スペースが必要であり、静的リンク リストには n 個のポインタが必要です。 実施方法: 最上位桁優先方式 (MSD 方式とも呼ばれる) では、まず k1 でソートしてグループ化します。同じグループ内のレコードでは、キー コード k1 は同じです。次に、各グループを k2 でソートし、サブグループに分割します。その後、各サブグループが最下位キー コード kd でソートされるまで、次のキー コードがこのようにソートおよびグループ化されます。次に、グループを接続して順序付けられたシーケンスを取得します。 LSD 方式と呼ばれる最下位桁優先方式では、kd のソートから開始し、次に kd-1 をソートし、k1 がソートされるまでこれを繰り返して順序付けられたシーケンスを取得します。 コード実装:
基数ソートは通常、レコードのキーが整数型の場合にのみ使用されます。 紹介したさまざまな内部ソート方法の中で、クイックソート、マージソート、ヒープソートは、必要な計算時間の点で優れた方法です。ただし、マージソートにはサイズ n の補助スペースが必要であり、クイックソートにはスタックが必要です。不安定なクイックソート、ヒープソート、選択ソート、シェルソートを除き、他のソート方法は安定しています。 ソート アルゴリズムのパフォーマンスを評価する主な基準は、必要な計算時間とストレージ スペースです。計算時間に影響を与える 2 つの重要な要素は、キーが比較される回数と記録される移動回数です。実際のアプリケーションでは、どの選別方法を使用するかは、特定のアプリケーションと機械の状態によって異なります。 【編集者のおすすめ】
|
>>: Java ソートアルゴリズムの概要 (VII): クイックソート
世界の潮流は力強く前進しています。科学研究と探究のペースを止めれば、井戸の中で空を眺め、満足して...
機械学習プロジェクトに適したオプティマイザーを選択するのは簡単な作業ではありません。オプティマイザー...
Mixtral 8x7B の発売は、オープン AI の分野、特に Mixture-of-Expert...
大規模な言語モデリングにヒントを得て、Deepmind は同様のアプローチを適用し、マルチモーダル、...
人工知能によるコンピュータネットワークへの需要の爆発的な増加に対処するため、プリンストン大学の研究者...
ちょうど今、マスク氏は、ニューラリンクインプラントを装着した最初の人間患者が、思考によってコンピュー...
Transformer の高性能は非常に高い計算能力に依存しており、モバイル NLP に大きな制限が...
[[189519]]インテリジェントな需要は2つの側面に反映されるモバイル インターネットの発展が新...
1 月に IBM は、デジタル トランスフォーメーションが予測された 150% ではなく -5% ~...
近年、科学技術分野で最もホットな言葉は人工知能であり、これは近年の人工知能の急速な発展によるものです...
spaCy は、最先端の研究に基づいて構築され、実際の製品での使用のためにゼロから設計された、Py...