자료구조는 더 효과적으로 자료를 저장하기 위한 방법이고 알고리즘은 이렇게 저정된 메모리를 더 효과적으로 사용할 수 있게하기 위한 방법이다. 그렇다면 어떻게 이 방법이 효과적인지 아닌지를 판별할수 있는 기준이 있어야 한다.
시간 복잡도는 반복문에 의해서 결정된다. 그 이유는 단순히 반복문에서 시간이 가장 오래 걸리기 때문이다. 일반적으로 알고리즘의 연산은 반복문에서 이루어지기 때문에 반복문의 실행시간이 가장 길고 연산의 양도 가장 많다. 반복문을 제외한 다른 부분에서도 시간이 걸리기는 하지만 무의미하다.
그럼 각각의 알고리즘의 성능을 표기할 때 수치나 단위로는 빅오 (Big O) 표기법을 일반적으로 많이 사용한다. 빅오 표기법은 알고리즘의 최악의 실행 시간을 표기하는 표기법으로 아무리 최악의 상황에서도 이 정도의 성능은 보장함을 나타내 준다.