>  기사  >  웹 프론트엔드  >  JS 정렬 알고리즘 요약

JS 정렬 알고리즘 요약

亚连
亚连원래의
2018-06-21 11:02:071383검색

이 글에서는 주로 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 요청을 구현하는 방법

vue.js

에 인터페이스 데이터를 저장하기 위해 vuex를 호출하는 방법

위 내용은 JS 정렬 알고리즘 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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