이 기사에서는 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;}
위 내용은 모두 이 글, 아직 잘 모르신다면 양쪽을 더 많이 구현하시면 쉽게 익힐 수 있습니다!
관련 추천:
JS에서 구현된 계수 정렬 및 기수 정렬 알고리즘의 예
위 내용은 JavaScript의 기수 정렬에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!