본문 바로가기
Tech Interview/Sorting

[Python]Selection Sorting

by 부르르 2019. 5. 9.

i번째 인덱스를 최소값으로 선택하고, i+1부터 순회하면서 i보다 작은 값을 가진 인덱스 위치가 발견되면 swap 한다

장점은 구현하기 간단하고 비교 및 교환의 횟수가 버블, 삽입 정렬보다 적다는 특징을 가진다.

단점은 성능이 O(N^2)으로 좋지 않다.

 

정리

  • 첫 인덱스부터 끝 인덱스까지 순회
  • Min Index 공간 1개 필요, 저장
  • 현재 인덱스 값과 Min Index 스왑
def selection_sort(arr):
    for i in range(len(arr)):
        min_idx = i
        for j in range(i+1,len(arr)):
            if arr[j]< arr[min_idx]:
                min_idx = j
        arr[i],arr[min_idx] = arr[min_idx],arr[i]
    return arr
728x90
반응형

'Tech Interview > Sorting' 카테고리의 다른 글

정렬 알고리즘 표 (Python 코드포함)  (0) 2021.09.17
[Python]Insertion Sorting  (0) 2019.05.10
[Python]Bubble Sorting  (0) 2019.05.09

댓글