Android 프로그래밍 2

본문 바로가기
사이트 내 전체검색


Android 프로그래밍 2
Android 프로그래밍 2

11. Selection Sort

페이지 정보

작성자 관리자 댓글 0건 조회 2,861회 작성일 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] 정렬 끝


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

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

댓글목록

등록된 댓글이 없습니다.


개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.