배열의 정렬 여부 확인
bool isSorted(int arr[], int n) {
if (n==1 || n==0) return true;
if (arr[0] < arr[1] && isSorted(arr+1, n-1)) return true;
return false;
}
배열의 시작위치와 크기를 1씩 감소시켜가며 맨 앞쪽을 계속 비교해나간다.
시간복잡도는 O(n)이지만 콜스택을 생각하면 n이 어느정도 커지면 실행이 안될것이다.
DP와 재귀는 Bottom-up, Top-down 여부에 차이가 있을 뿐 접근 방식은 거의 동일하다.
'이론 > 자료구조&알고리즘' 카테고리의 다른 글
Linked List (0) | 2023.02.13 |
---|---|
Divide & Conquer (0) | 2023.02.10 |
Bit Manipulation (0) | 2023.02.09 |
Vector Data Structure (0) | 2023.02.08 |
Pointers & Dynamic Memory (0) | 2023.02.07 |