-
1. 선택정렬 O(n2)
맨앞부터 그이후값중 가장 작은 값을 찾아간다음 맨첫번째 index의 값과 swap. 맨처음 index를 제외한 나머지 값들도 같은 과정을 거친다. 장점 : 구현하기 어렵지 않다.
단점: 퍼포먼스가 좋지 않음
실행 결과 2. 삽입정렬
결과 3. 병합정렬
정렬할 리스트를 반으로 나눠지지 않을때까지 반으로 나누고 순환 호출을 이용하여 합병 정렬 후 다시 합치는것이다.
분할 => 정복
실행 결과 4. 퀵정렬
기준이 되는 값을 정하고 (피벗) 피벗 앞에는 피벗보다 값이 작은 값들이 오고 피벗 뒤에는 피벗보다 큰 값들이 오도록 둘로 나눈다. (분할)
분할된 리스트에 대해 나눌수 없을때까지 재귀적으로 이 과정을 반복한다.
장점 : 빠른 수행 속도
'개발 > 알고리즘' 카테고리의 다른 글
[LeetCode] Two Sum (easy / javascript) (0) 2021.06.11 재귀 (Recursion) (0) 2021.04.10 [Codility] Binary Gap (javascript) (0) 2021.04.08 [정렬] K번째수 (0) 2021.04.03 [DFS/BFS] 타겟 넘버 (0) 2021.04.03