시간 복잡도(time complexity)

알고리즘이 어떤 문제를 해결하는데 걸리는 시간으로, 어떤 문제를 해결할 때 걸리는 시간이 길면 그만큼 컴퓨터의 효율이 떨어진다. 따라서 프로그램을 작성할 때 시간 복잡도를 고려해야 한다. 시간 복잡도에는 여러 개념이 있지만 그 중에서 ‘아무리 많이 걸려도 이 시간 안에는 끝날 것’의 개념이 중요하다. 이것을 빅-오(Big-O) 표기법이라고 하며 처리에 필요한 시간의 최대치를 나타내는 것이다. 시간 복잡도와 함께 공간 복잡도라는 용어도 있다. 공간 복잡도는 문제를 해결하는 데 있어 주기억장치의 공간을 얼마나 차지하는지를 살펴보는 것이다.