본문 바로가기

코딩 테스트/알고리즘 꿀팁 정리

[정렬 알고리즘 정리]

반응형

[정렬]

선택정렬(Selection Sort) :

-> 한바퀴를 돌며 가장 작은 수를 선택해 맨 앞으로 보낸다 

-> 두 번째 값부터 한바퀴 돌며 가장 작은 수를 찾아 두 번째로 보낸다. 

 

삽입정렬 : 데이터를 하나씩 확인하여 적절한 위치에 삽입하기 

-> 필요할 때만 위치를 바꾸므로 데이터가 거의 정렬되어 있을 때 훨씬 효율적이다.

 

퀵정렬 : 기준 데이터를 설정하고 그 기준보다 큰 데이터와 작은 데이터의 위치를 바꾼다.

 

계수정렬(counting sort) :

* 각 데이터가 몇 번 등장했는지 그 횟수가 기록된다. 

* 인덱스값을 늘리고, 데이터 최댓값의 크기만큼 반복을 수행해야 한다. => 데이터의 범위만 한정되어 있다면 효과적으로 사용할 수 있으며 항상 빠르게 동작한다. 

* 기수행렬(Radix sort)과 더불어 가장 빠르다고 볼 수 있다. 

count = [0] * (max(array) +1) # 모든 범위 포함하는 리스트 선언

반응형