この記事では、JavaScript での基数ソートについて説明します。JavaScript での基数ソートについて知らない場合、または JavaScript での基数ソートに興味がある場合は、この記事を見てみましょう。要点
基数ソートには 2 つの方法があります
1. MSD は上位ビットからソート
2. 基数ソート vs カウンティング ソート vs バケット ソート
これら 3 つの並べ替えアルゴリズムはすべてバケットの概念を使用しますが、バケットの使用方法には明らかな違いがあります:
: キー値の各桁に従ってバケットを割り当てます
計数並べ替え: 各バケットのみ単一のキー値を格納します
バケットソート: 各バケットは特定の範囲の値を格納します
LSD 基数ソートアニメーションのデモ:
基数ソート JavaScript コード実装://LSD Radix Sort var counter = [];function radixSort(arr, maxDigit) { var mod = 10; var dev = 1; for (var i = 0; i < maxDigit; i++, dev *= 10, mod *= 10) { for(var j = 0; j < arr.length; j++) { var bucket = parseInt((arr[j] % mod) / dev); if(counter[bucket]==null) { counter[bucket] = []; } counter[bucket].push(arr[j]); } var pos = 0; for(var j = 0; j < counter.length; j++) { var value = null; if(counter[j]!=null) { while ((value = counter[j].shift()) != null) { arr[pos++] = value; } } } } return arr;}
関連する推奨事項:
JS で実装されたカウントソートおよび基数ソートアルゴリズムの例
以上がJavaScriptの基数ソートの詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。