Selection sort
① n개 수 중 최소값을 찾는다
② 그 수를 맨 앞으로 이동
③ 그 수 다음부터 n−1개 수에 대해 위 작업 반복
-> i번째 반복에서 앞의 1 ~ (i−1)번째까지는 정렬이 되어 있음
시간복잡도: O(n2)
Insertion sort
① n개의 수 중 i번째 수를 꺼냄
② 1 ~ i−1번째 중 올바른 위치에 삽입
② i=2부터 n에 대해 위 작업을 반복
-> i번째 반복에서 앞의 1 ~ i−1번째까지는 정렬이 되어 있음
시간복잡도: O(n2)
*Best case: Θ(n)
Bubble sort
이웃한 수끼리 교환으로 정렬
Merge sort and Quick sort
Divide and conquer
Merge sort
① n개의 수를 절반으로 나눈다 (n2개씩)
② n2개의 수 각각을 정렬한다
③ 정렬된 걸 합친다
시간복잡도: O(nlogn)
Quick sort
최악의 경우 O(n2), 평균적인 경우 O(n\log{n})
대체로 빠름
'강의노트 > 알고리듬' 카테고리의 다른 글
[알고리듬] 4주차: Divide-and-Conquer (0) | 2021.03.24 |
---|---|
[알고리듬] 3주차: Homework#1 (0) | 2021.03.21 |
[알고리듬] 3주차: Recursion - Mergesort, Quicksort (0) | 2021.03.17 |
[알고리듬] 2주차: 시간복잡도 (0) | 2021.03.15 |
[알고리듬] 1주차 (0) | 2021.03.03 |