패스잇
CS 기초 · 기초

알고리즘의 시간 복잡도(Time Complexity)와 공간 복잡도(Space Complexity)는 무엇이며, 왜 중요하게 고려해야 하는지 설명해주세요. 특히 Big O 표기법은 무엇을 의미하나요?

힌트 · 시간 복잡도는 알고리즘 실행 시간, 공간 복잡도는 메모리 사용량을 나타냅니다. Big O는 입력 크기에 따른 알고리즘의 상한 성능을 표현하는 표기법입니다.

시간 복잡도공간 복잡도Big O 표기법알고리즘 효율성자원 최적화

모범답안

알고리즘의 시간 복잡도는 입력 크기에 따라 알고리즘 실행 시간이 얼마나 늘어나는지를 나타내고, 공간 복잡도는 알고리즘이 사용하는 메모리 공간이 얼마나 늘어나는지를 나타냅니다. 이 두 가지를 고려하는 이유는 효율적인 알고리즘을 설계하고 자원을 최적화하기 위해서입니다.

특히, Big O 표기법은 알고리즘의 성능을 분석할 때 입력 크기가 매우 커질 때, 즉 최악의 경우에 실행 시간이나 메모리 사용량이 어떻게 증가하는지를 나타내는 방법입니다. 예를 들어 O(n)은 입력 크기에 비례하여 실행 시간이 증가한다는 의미이고, O(1)은 입력 크기와 상관없이 항상 일정한 시간이 걸린다는 의미입니다. Big O 표기법을 통해 알고리즘의 확장성을 예측하고 성능 병목 지점을 파악하여 개선할 수 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 알고리즘 면접 질문

← 알고리즘 면접 질문 전체 보기