덴마크초코우유 2018. 10. 27. 19:59
반응형
정렬

Alt Text

정렬

정렬이란 사용자가 원하는 순서대로 원소들을 배치하는 것이다. 정렬을 할 수 있는 자료구조에는 배열, 리스트, 그래프가 있다. 정렬은 종류에 따라 속도의 차이가 있다. 아래의 영상을 보면 각각의 정렬 알고리즘들이 정렬을 하는데 걸리는 속도를 한눈에 볼 수 있다.

@동영상

오늘 우리는 속도가 N^2인 정렬 알고리즘을 공부할 것이다.

먼저 버블정렬을 살펴보자. 버블정렬은 인접한 두 원소를 비교해 나가면서 가장 큰 원소를 뒤로보내는 정렬은 해나가는 정렬이다. 이 때 작업을 n-1번 반복하는데 이유는 n-1번째에는 n번째 역시 정렬되있기 때문이다.


선택정렬은 버블정렬을 개선한 정렬이다. 버블정렬에서는 모든 원소를 밀어내면서 정렬했지만, 선택정렬은 가장 큰 값을 찾아 맨 뒤 원소와 교체한다. 따라서 매번 스왑을 해주는 버블정렬보다 근소하게 빠르다.


삽입정렬은 새로운 배열을 만들어 원소 하나씩 정렬해 가면서 삽입해 나간다고 생각하면 된다.

 

 

 


반응형