서로 다른 알고리즘을 분석할 때 우리는 더 효율적인 프로그램을 만들기 위해서 어떤 알고리즘이 낫다, 더 나쁘다를 객관적으로 비교해야 한다. 하지만 단순하게 프로그램을 실행시켜서 속도를 비교하기엔 입출력과 HW성능, 환경 등 실행 속도에 너무 많은 변수들이 있다. 이를 위해 좀 더 객관적인 환경에서 비교할 수 있도록 개발된 표기법이 Big-O표기법이다. 빅오 표기법에 대해 먼저 간단하게 말하자면 앞서 말했던 실행 속도의 개념보단 수행되는 연산의 개수를 대략적으로 판단하는 느낌이다. 예를들어 다음과 같은 코드가 있다고 치자 for(int i = 0; i < N; i++){ for(int i = 0; i < N; i++){ } } for(int i = 0; i < N; i++){ } int a = 0; 이러한..