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