ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScriptの基数ソートの詳しい説明

JavaScriptの基数ソートの詳しい説明

韦小宝
韦小宝オリジナル
2018-03-14 14:33:032250ブラウズ

この記事では、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;}
JavaScriptの基数ソートの詳しい説明上記はすべての内容ですこの記事では、まだあまり詳しくない方も、両方を実践すれば簡単にマスターできます!

関連する推奨事項:

JS で実装されたカウントソートおよび基数ソートアルゴリズムの例

以上がJavaScriptの基数ソートの詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。