JavaScript의 선택 정렬

Muhammad Muzammil Hussain 2023년10월12일
JavaScript의 선택 정렬

이 기사에서는 선택 정렬과 JavaScript 소스 코드에서 작동하는 방법에 대해 설명합니다. JavaScript에서 선택 정렬 알고리즘을 사용하여 배열 요소를 정렬하는 예를 살펴보겠습니다.

JavaScript의 선택 정렬

선택 정렬은 프로그래밍 언어에서 간단한 정렬 알고리즘으로 간주됩니다. 이 정렬 알고리즘에서 목록은 왼쪽의 정렬된 부분과 오른쪽의 정렬되지 않은 부분의 두 부분으로 나뉩니다.

초기 단계에서는 정렬되지 않은 데이터만 있기 때문에 정렬된 부분은 비어 있을 것입니다.

선택 정렬에서 가장 작은 요소가 목록에서 선택되고 가장 왼쪽 요소와 교체되며 가장 작은 요소가 정렬된 목록의 일부가 됩니다. 이 프로세스는 계속됩니다.

선택 정렬의 시간 복잡도

이 알고리즘은 평균 및 최악의 경우 복잡성 때문에 많은 양의 데이터에 적합하지 않습니다. 이 알고리즘의 시간 복잡도는 Ο(n^2)이며, 여기서 n은 목록 항목의 수입니다.

선택 정렬 알고리즘

선택 정렬 알고리즘은 5단계로 나눌 수 있습니다.

  • min 요소를 인덱스 0으로 설정합니다.
  • 목록에서 최소 요소를 검색합니다.
  • 위치 min 요소의 값으로 교체하십시오.
  • 다음 요소를 가리키도록 min 요소를 증가시킵니다.
  • 목록이 정렬될 때까지 프로세스를 반복합니다.

아래 예에서는 JavaScript를 사용하여 선택 정렬 알고리즘을 수행합니다. 목록 항목에서 for 루프 반복을 사용합니다.

let selectionSorting = function(array) {
  for (var i = 0; i < array.length; i++) {
    // set the min variable to the current iteration of i
    var min = i;
    for (var j = i + 1; j < array.length; j++) {
      if (array[j] < array[min]) {
        min = j;
      }
    }
    var temp = array[i];  // for swapping
    array[i] = array[min];
    array[min] = temp;
  }
  return array;
};
let unsortedArray = [3, 8, 2, 10, 1, 5, 7, 4, 9, 6]

console.log('Unsorted list --> ' + unsortedArray);

let sortedArray = selectionSorting(unsortedArray)

console.log('Sorted list --> ' + sortedArray);

출력:

"Unsorted list --> 3,8,2,10,1,5,7,4,9,6"
"Sorted list --> 1,2,3,4,5,6,7,8,9,10"

위에 표시된 것처럼 배열을 매개변수로 사용하는 let 유형 함수 selectionSorting()을 선언했습니다. 해당 함수 내에서 전달된 배열에 for 루프를 사용했습니다.

루프 본문 내부에서 min이 나머지 요소에 대해 다른 루프를 사용했기 때문에 첫 번째 요소를 얻었습니다. 조건문 if()를 사용하여 min으로 나머지 요소를 확인했습니다.

min 요소가 나머지 데이터의 첫 번째 요소보다 크면 min 변수만 업데이트하면 됩니다. 그런 다음 첫 번째 루프를 닫고 스와핑을 수행해야 하며 동일한 프로세스가 계속됩니다. 배열이 정렬되면 함수는 최종 정렬된 배열을 반환합니다.

정렬되지 않은 배열을 초기화하고 selectionSort() 함수에 인수로 전달하고 반환 값을 sortedArray 변수에 저장했습니다. 마지막으로 console.log() 메서드를 사용하여 결과를 로그에 표시했습니다.

위의 소스 코드를 복사하여 저장하고 JavaScript 컴파일러를 사용하여 결과를 확인하십시오.

관련 문장 - JavaScript Sort