이 글에서는 주로 JS 정렬 알고리즘의 버블 정렬, 선택 정렬, 삽입 정렬을 소개하며, 버블 정렬, 선택 정렬, 삽입 정렬의 개념과 원리, 구현 방법을 예제 형식으로 분석합니다.
이 문서의 예제에서는 버블 정렬, 선택 정렬 및 삽입 정렬의 JS 정렬 알고리즘을 설명합니다. 참조를 위해 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
버블 정렬:
배열의 데이터에 대해 연속적으로 인접한 두 숫자의 크기를 비교합니다.
이전 데이터가 이후 데이터보다 큰 경우 두 숫자를 바꿉니다.
시간 복잡도O(n^2)
function bubble(array){ var temp; for(var i=0; i<arr.length; i++){ for(var j=0; j<arr.length; j++){ if(arr[j]>arr[j+1]){ temp = arr[j+1]; arr[j+1] =arr[j]; arr[j]=temp; } }console.log(arr); } }//冒泡排序
선택 정렬:
먼저 원본 배열에서 가장 작은 데이터를 선택하고 위치 1의 데이터와 교환합니다.
나머지 n-1 데이터 중 다음으로 작은 데이터를 선택하여 두 번째 위치의 데이터와 교환합니다.
마지막 두 데이터가 교환될 때까지 반복합니다.
시간 복잡도O(n^2)
function selectionSort(array){ var min,temp; for(var i=0; i<array.length-1; i++){ min=i; for(var j=i+1; j<array.length; j++){ if(array[j]<array[min]){ min=j; } } swap(array,min,i); } console.log(array); }//选择排序 function swap(array,i,j){ var temp =array[i]; array[i]=array[j]; array[j]=temp; }//两个数字交换
삽입 정렬:
먼저 처음 두 데이터를 작은 것부터 큰 것까지 비교합니다.
그런 다음 세 번째 데이터를 처음 정렬된 두 데이터와 비교하여 적절한 위치에 세 번째 데이터를 삽입합니다. 등.
(삽입 정렬에는 두 개의 루프가 있습니다. 외부 루프는 배열을 하나씩 이동하고, 내부 루프는 외부 루프에서 선택한 요소를 앞에 있는 숫자와 비교합니다.)
시간 복잡도O(n^2 )
function insertSort(arr){ var temp, j; for(var i=1; i<arr.length; i++){ temp =arr[i]; j=i; while(j>0 && arr[j-1]>temp){ arr[j]=arr[j-1]; j--; } arr[j]=temp; } }
위 내용은 앞으로 모든 분들에게 도움이 되기를 바랍니다.
관련 기사:
JavaScript에서 반복되는 요소의 발생 횟수 계산
JQUERY를 사용하여 여러 AJAX 요청을 구현하는 방법
에 인터페이스 데이터를 저장하기 위해 vuex를 호출하는 방법위 내용은 JS 정렬 알고리즘 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!