Selection Sort > Android 프로그래밍 2

본문 바로가기

Android 프로그래밍 2

Android 프로그래밍 2

11. Selection Sort

페이지 정보

작성자 관리자 댓글 0건 조회 4,571회 작성일 20-03-30 08:51

본문

11. Selection Sort

간단하지만 성능은 안 좋은 선택 정렬에 대해 알아보겠습니다.

성능이 좋지 않아도 배우는 이유는 코드가 간단하고, 작은 수(보통 30 이하)에서는 효과적이기 때문입니다. 


선택 정렬은 배열을 처음부터 훑어서 가작 작은 수를 제일 앞에 가져다 놓습니다. 

그 다음, 다시 배열을 훑어서 두 번째로 작은 수를 두 번째 칸에 가져다 놓습니다. 

계속 반복해서 끝까지 정렬합니다. 

성능이 안 좋을 수밖에 없는 게, 배열을 한 번 훑었을때 숫자 하나밖에 정렬을 못 합니다. 

하지만 사람이 정렬을 하는 방법과 상당히 유사합니다. 간단히 예제를 보죠.


[5,1,4,7,2,6,8,3] 배열을 처음부터 훑어 가장 작은 1을 앞으로 보냅니다.
[1,5,4,7,2,6,8,3] 다시 훑어 2를 앞으로 보냅니다.
[1,2,4,7,5,6,8,3] 3을 앞으로
[1,2,3,7,5,6,8,4]
[1,2,3,4,5,6,8,7]
[1,2,3,4,5,6,8,7]
[1,2,3,4,5,6,7,8] 정렬 끝


정렬 알고리즘과 연관 되어 이해하면 좋은 것이 시간복잡도를 계산하는 거지만, 

요즘 컴퓨터가 너무 좋아서 시간복잡도는 별로 중요하지 않지만 대규모 빅이터에서는 대기 시간을 줄이기 위해 빠른 정렬 알고리즘을 사용하기도 합니다.


Copyright © LEELAB.CO.KR. All rights reserved.