Notice
Recent Posts
Recent Comments
Link
할껀하고놀자
[알고리즘] 선택정렬 본문
728x90
list = [20,12,10,15,2]
for i in range(len(list)):
for j in range(i+1,len(list)):
if list[i]>list[j]:
list[i],list[j] = list[j],list[i]
print(list)
정렬 방법론.
1. 최솟값을 찾아서 0번째 위치와 바꿈.
2. 0번째 위치를 제외한 최솟값을 찾아서 1번째 위치와 바꿈.
3. N번째까지의 위치를 제외한 최솟값을 찾아서 N번째와 바꿈.
4. 끝까지 가면 성공.
특징.
1. 정렬되있는 순서로 들어오던 아니던 실행시간이 비슷하다. 항상 비교하는양이 동일하기 때문.
2. 추가적인 기억장소를 요구하지 않는다.
'[IT] > 알고리즘' 카테고리의 다른 글
[알고리즘] 삽입정렬 (0) | 2019.12.21 |
---|---|
[알고리즘] 버블정렬 (0) | 2019.12.18 |
[알고리즘] KMP 알고리즘 O(N+M) (0) | 2019.09.11 |
[알고리즘] C++ split() 하는 초간단한 방법 (0) | 2019.06.07 |
[알고리즘] 그리디 알고리즘 기초(C++) (0) | 2019.05.31 |
Comments