빅오메가

    [알고리즘] 시간복잡도(Time Complexity)

    이전 포스팅에서 알고리즘에 대한 개념을 설명했다. 그 중, 시간복잡도라는 개념이 나왔는데 밑의 그림을 예로 들었는데 이해가 쉬우리라 판단된다. 보이는 것처럼, "알고리즘"이 수행되는 시간이 시간복잡도이다. 비슷한 친구로 "공간복잡도" 라는 개념도 있는데, 반대로 "메모리"를 얼마나 사용하는지에 대한 용량의 개념이다. 데이터를 저장할 수 있는 메모리와 저장매체의 발전으로 인하여 메모리에 대한 개념 또한 그렇게 큰 범주가 되지 못하고 있다. 예컨데, 예전 프로그래밍에서 배열이나 동적할당을 최소화 하고 컴파일을 최소화하며.. 등등 메모리가 얼마 없던 시절의 최적화 하기 위한 행동들은 지금은 하지 않아도 된다. 다만, 최적화의 범주에서 볼 때 좋은 행동이라고 볼 수 있다. 시간복잡도의 그래프가 또 빠질 수 없는..