[알고리즘] 선택 정렬
오늘은 선택 정렬에 대해 알아보려고 한다.
선택 정렬은 배열의 가장 작은 숫자를 선택하여, 정렬이 되지 않은 배열의 가장 왼쪽 원소와 교환하는 작업을 반복하여 정렬하는 방법이다.
-
정렬이 되지 않은 배열에서 가장 작은 수를 선택한다.
[70, 31, 3, 72, 20]index = 0 for j in range(len(data)): if data[index] > data[j] : index = j
-
가장 작은 수로 선택 된 원소와 정렬되지 않은 배열의 가장 왼쪽 원소를 교환한다.
[70, 31, 3, 72, 20] --> [ 3, 31, 70, 72, 20]index = 0 for j in range(len(data)): if data[index] > data[j] : index = j data[0], data[index] = data[index], data[0]
-
위의 1번 2번 과정을 정렬이 될 때까지 반복한다.
[70, 31, 3, 72, 20] --> [ 3, 31, 70, 72, 20][ 3, 31, 70, 72, 20] --> [ 3, 20, 70, 72, 31]
[ 3, 20, 70, 72, 31] --> [ 3, 20, 31, 72, 70]
[ 3, 20, 31, 72, 70] --> [ 3, 20, 31, 70, 72]
def select(data): for i in range(len(data)-1): index = i for j in range(i+1, len(data)): if data[index] > data[j]: index = j if i != index: data[i], data[index] = data[index], data[i] return data
Author And Source
이 문제에 관하여([알고리즘] 선택 정렬), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@super-d/알고리즘-선택-정렬저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)