Computer Science/자료구조,알고리즘

선택 정렬 알고리즘

Fo_rdang 2024. 7. 11. 18:53
반응형

선택 정렬 알고리즘 

- 정렬 알고리즘 중 하나. 

- 배열을 반복적으로 순회하여 가장 작은(혹은 가장 큰) 요소를 찾아 맨 앞의 요소와 교환하는 방식으로 정렬합니다.

 

선택 정렬 알고리즘 설명

  1. 첫 번째 위치에 대해:
    • 배열에서 가장 작은 요소를 찾아 첫 번째 요소와 교환합니다.
  2. 두 번째 위치에 대해:
    • 첫 번째 요소를 제외한 나머지 배열에서 가장 작은 요소를 찾아 두 번째 요소와 교환합니다.
  3. 이 과정을 마지막까지 반복:
    • 배열 전체가 정렬될 때까지 이 과정을 반복합니다. 

 

선택 정렬 알고리즘 구현 

function selectSort(arr){
    for(let i=0; i<arr.length-1; i++){
        let min = i
        for(let j=i+1; j<arr.length; j++){
            if(arr[min] > arr[j]){
                min = j;  
            }
        }
        let temp = arr[i]; 
        arr[i] = arr[min]; 
        arr[min] = temp; 
    }
    return arr ; 
}

 

선택 정렬 알고리즘 설명

function selectSort(arr){
    for(let i=0; i<arr.length-1; i++){//i번째 자리에 올 것 설정해보자. 
        let min = i //i번째 요소를 min을 처음에 설정
        for(let j=i+1; j<arr.length; j++){//i번째 자리랑 바꿀 최소 값 j 찾기 
            if(arr[min] > arr[j]){//만약, 최소 값 보다 작은 값이 나온다면, 
                min = j;  //해당 j위치를 min 값으로 저장한다. 
            }
        }
        //i번째 자리에 올 것은 j의 값이다. i의 값과 j의 값을 스와핑 해준다. 
        let temp = arr[i]; 
        arr[i] = arr[min]; 
        arr[min] = temp; 
    }
    return arr ; 
}
반응형