그 외/클래식

시간복잡도

앙박 2024. 3. 2. 11:56

개발자들끼리 알고리즘의 유용성을 논하는데 여러 가지 방법이 있는데, 가장 클래식한 것이 시간복잡도이다.

 

시간복잡도의 개념을 알아보자면, 이름만 봤을 땐 '알고리즘 수행에 걸리는 시간' 정도로 해석될 수 있겠다만

 

핵심은 '시간'이 아니라 '데이터 변화'에 있다.

 

정확히 말하자면 '알고리즘에 사용되는 데이터 수'가 변화함에 따라 연산 횟수가 어떻게 변화하는지가 중요하다.

 

때문에 시간복잡도는 기본적으로

 

데이터 수 변화에 따라 달라지지 않는 O(1)

데이터 수 변화에 따라 달라지는 O(N) & O(logN)

 

로 표현된다.

 

 

시간복잡도를 공부하는데 꼭 같이 딸려오는 알고리즘들이 있는데

 

바로 '정렬 알고리즘' 되시겠다.