>  기사  >  웹 프론트엔드  >  JavaScript의 기수 정렬에 대한 자세한 설명

JavaScript의 기수 정렬에 대한 자세한 설명

韦小宝
韦小宝원래의
2018-03-14 14:33:032250검색

이 기사에서는 JavaScript의 기수 정렬에 대해 설명합니다. JavaScript의 기수 정렬에 대해 모르거나 JavaScript의 기수 정렬에 관심이 있다면 이 기사를 살펴보겠습니다. 요점은

기수 정렬에는 두 가지 방법이 있습니다

1. MSD는 높은 비트부터 정렬합니다.

2. LSD는 낮은 비트부터 정렬합니다. 이 세 가지 All 정렬 알고리즘은 버킷 개념을 사용하지만 버킷 사용에 있어서는 분명한 차이점이 있습니다.

Radix sort

: 키 값의 각 숫자에 따라 버킷을 할당합니다.

Counting sort

: 각 버킷만 Stores 단일 키 값

Bucket sort

: 각 버킷은 특정 범위의 값을 저장합니다. ​​

LSD 기수 정렬 애니메이션 데모:

Radix 정렬 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.