08. (모두의 알고리즘)선택 정렬(Selection Sort)
선택 정렬이란 선택 정렬(selection sort)은 정렬되지 않은 데이터들에 대해 가장 작은 데이터를 찾아 가장 앞의 데이터와 교환해나가는 방식 참조 URL 네이버 지식백과1 네이버 지식백과2 쉽게 설명한 선택 정렬
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
def find_min_idx(b): n = len(b) min_idx = 0 for i in range(1, n): if b[min_idx] > b[i]: min_idx = i return min_idx def sel_sort(a): result = list() while a: min_idx = find_min_idx(a) value = a.pop(min_idx) result.append(value) return result v = [2, 4, 5, 1, 3] print(sel_sort(v)) |
선택 정렬 알고리즘
1 2 3 4 5 6 7 8 9 10 11 12 13 |
def selection_sort(a): n = len(a) for i in range(0, n - 1): min_idx = i for j in range(i + 1, n): if a[min_idx] > a[j]: min_idx = j a[i], a[min_idx] = a[min_idx], a[i] v = [2, 4, 5, 1, 3] selection_sort(v) print(v) |
연습문제2. 큰수에서 작은수 순서로 나열하는 선택 정렬 알고리즘
1 2 3 4 5 6 7 |
def selection_sort_rev(a): ... v = [2, 4, 5, 1, 3] selection_sort_rev(v) print(v) |
..