알고리즘/알고리즘 개념
여러 알고리즘 시간복잡도_재귀의 시간복잡도가 O(2^n)인 이유
개발자 덕구🐾
2022. 9. 14. 22:39
728x90
Big - O는 알고리즘 성능을 예측한다.
작은 차수는 무시하고 계수도 무시한다.
이진탐색 : O(logn)
재귀 : O(2^n)
정렬 : O(nlogn)
heap :
- 생성 : nlogn
- push, pop : log(n)
여기서 궁금했던 것은
왜 재귀가 2^n 인지이다.
재귀 중 피보나치를 생각했을 때
이렇게 생각하면 된다.
T(n) > 2 * T(n-2)
T(n) > 2^2 * T(n-4)
...
T(0)이 되면
T(n) > 2^(n/2) * T(0) 이다.
T(0)은 계수가 되어 의미가 없어지고 1/2도 의미가 없어진다.
즉 재귀의 시간복잡도는 O(2^n)이 된다.
반응형