더북(TheBook)

2.3 복잡도 계산

문제를 푸는 것은 단지 올바른 해결책만을 찾는 것이 아닙니다. 해결책은 메모리를 적절하게 사용해야 하며 빨라야 합니다. 앞 장에서 빅오 표기법을 배웠으니 빅오 분석을 할 수 있어야 합니다. 해결책을 구상할 때 그 해결책이 최적이 아니라 더 나은 방법이 있을 수 있으므로 더 나은 것을 찾으려 노력하세요.

면접관 대부분은 면접자가 알고리즘의 시간 복잡도와 공간 복잡도를 구할 수 있기를 바랍니다. 여러분은 시간 복잡도와 공간 복잡도를 바로 구할 수 있어야 합니다. 문제를 풀 때마다 복잡도를 구한다면 최고의 해결책을 고를 수 있습니다. 어떤 문제는 시간 복잡도와 공간 복잡도 사이에 약간의 트레이드오프가 있으므로 이러한 트레이드오프를 알아야 합니다. 때로는 공간을 더 많이 사용해 시간을 더 많이 아끼고 알고리즘을 훨씬 빠르게 만듭니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.