빅오는 알고리즘 공부를 하면 반드시 다루는 중요한 주제이다. Computer science에서 빅오는 입력값이 커질 때 알고리즘 실행 시간(시간복잡도), 공간 요구사항(공간 복잡도)가 어떻게 증가하는지를 분류하는 데 사용된다. 즉 알고리즘이 얼마나 효율적인지 판단하는 지표라는 것을 의미한다. 이번 포스팅에서 빅오로 알고리즘의 효율성을 어떻게 표현하는 지 알아보자. 빅오(Big-O)란 입력이 무한대로 커질때 함수의 상한을 설명하는 수학적 표기 방법을 일컫는다. 실행 시간의 관점에서는 점근적 실행 시간을 표기한다(= 시간 복잡도)라고 하는데 쉽게 설명하면 입력값 n이 커질 때(무한대를 향할때), 함수의 실행 시간의 추이를 의미한다고 보면 된다. 컴퓨터의 연산 능력으로 인해 아무리 복잡한 알고리즘이라도 입력의..