1. 반복문을 사용하지 않고 재귀로만 다음을 구현한 후 시간 복잡도 분석하기
- 배열에서 최솟값 찾기
- 배열의 모든 원소의 총합 구하기
- 선택 정렬
2. Pancake Sorting(Jeff Erickson의 책 <Alogirithms>의 Exercise 9(a),(b) in Chapter 1 of [E])
(a): 팬케이크가 $n$장일 때 $O(n)$번 뒤집는 알고리즘을 구하면 됨
(b): 모든 양의 정수 $n$에 대해 정렬을 위해 $O(n)$ filps가 필요한 배열 구성을 구하면 됨
(a)는 그냥 내가 짠 코드를 설명하면 끝이었다.
(b)는 생각이 좀 필요했다. 내가 제시한 답은 내림차순으로 정렬된 배열이다.
내림차순으로 정렬된 배열은 맨 처음에 한 번 flip하고 나면 flip 연산이 수행되지 않는다. 그래서 원래는 $O(n^2)$인데
$O(n)$ 됨
(c)는 옵션이라길래 풀까 말까 하다가 결국 안 풀었다. 옵션까지 풀기엔 몸도 마음도 지쳐 있었다.....
'강의노트 > 알고리듬' 카테고리의 다른 글
[알고리듬] 5주차: Divide-and-Conquer (0) | 2021.03.31 |
---|---|
[알고리듬] 4주차: Divide-and-Conquer (0) | 2021.03.24 |
[알고리듬] 3주차: Recursion - Mergesort, Quicksort (0) | 2021.03.17 |
[알고리듬] 2주차: 정렬 (0) | 2021.03.15 |
[알고리듬] 2주차: 시간복잡도 (0) | 2021.03.15 |