이번에는 일반적으로 사용되는 JS 정렬 알고리즘을 소개하겠습니다. JS 정렬 알고리즘을 사용할 때 주의할 점은 무엇인가요?
1. 버블 정렬
var bubbleSort = function(arr) { for (var i = 0, len = arr.length; i < len - 1; i++) { for (var j = i + 1; j < len; j++) { if (arr[i] > arr[j]) { var temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } return arr; };
3. 삽입 정렬
var selectSort = function(arr) { var min; for (var i = 0; i < arr.length - 1; i++) { min = i; for (var j = i + 1; j < arr.length; j++) { if (arr[min] > arr[j]) { min = j; } } if (i != min) { swap(arr, i, min); } console.log(i + 1, ": " + arr); } return arr; }; function swap(arr, index1, index2) { var temp = arr[index1]; arr[index1] = arr[index2]; arr[index2] = temp; };
5. 병합 정렬
var insertSort = function(arr) { var len = arr.length, key; for (var i = 1; i < len; i++) { var j = i; key = arr[j]; while (--j > -1) { if (arr[j] > key) { arr[j + 1] = arr[j]; } else { break; } } arr[j + 1] = key; } return arr; };
6.
------------------------------------------------ -- -------------| 평균 사례 | 최악의 경우 |
------------ ------ ---------------------| O(n²) | O (n²) | 안정적 |
------------------ ------------ -------| 선택 정렬 | O(n²) | 불안정|
------ ---------------------------------- ---------------- -------| O(n²) | O(n²) | 안정 |
------ --- ---------------------- --------
| 힐 정렬| nlogn)~O(n²) | O(n^1.5) | O(n²) | 불안정|
--------- ----------------- --------------------------------- ---
| 병합 정렬 | O(nlogn) | | O(nlogn) | 안정 |
------------ ----------------- ---------
| O(nlogn) | O(n²) | 불안정 ---------------------- --------------- -----------
이 기사의 사례를 읽은 후 방법을 마스터했다고 믿습니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!
추천 도서:
Vue에서 Sortable을 사용하는 방법
js+css를 사용하여 타이핑 효과를 얻는 방법
위 내용은 일반적으로 사용되는 JS 정렬 알고리즘 구성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!