가수면

선택 정렬 알고리즘 본문

CS/CS

선택 정렬 알고리즘

니비앙 2023. 11. 9. 16:05

예시 배열 - [4, 3, 1, 2]

 

1회차 - 0 vs 1부터 가장 작은 값 [1, 3, 4, 2]

2회차 - 1 vs 2부터 가장 작은 값 [1, 2, 4, 3]

3회차 - 2 vs 3부터 가장 작은 값 [1, 2, 3, 4]

 

턴 수 - length - 1

비교값 - (턴 수 - 1)탐색 시작값 - (턴 수)

 

정리

1. length -1만큼 반복문

2. 1번 안에 전체를 탐색하는 중첩 반복문 (탐색 시작값부터 length -1까지)

3. 제일 낮은 숫자의 인덱스 저장

4. 비교값과 제일 낮은 숫자 비교 후 교체

 

def selectionSort(data):
    for index in range(len(data) - 1):
        lowestIndex = index
        for index2 in range(index + 1, len(data)):
            if data[lowestIndex] > data[index2]:
                lowestIndex = index2
        data[lowestIndex], data[index] = data[index], data[lowestIndex]
    return data

'CS > CS' 카테고리의 다른 글

퀵 정렬 알고리즘  (0) 2023.11.09
동적 계획법  (0) 2023.11.09
삽입 정렬 알고리즘  (0) 2023.11.09
버블 정렬 알고리즘  (0) 2023.11.09
그래프 순회  (0) 2023.05.30
Comments