개발자들끼리 알고리즘의 유용성을 논하는데 여러 가지 방법이 있는데, 가장 클래식한 것이 시간복잡도이다.
시간복잡도의 개념을 알아보자면, 이름만 봤을 땐 '알고리즘 수행에 걸리는 시간' 정도로 해석될 수 있겠다만
핵심은 '시간'이 아니라 '데이터 변화'에 있다.
정확히 말하자면 '알고리즘에 사용되는 데이터 수'가 변화함에 따라 연산 횟수가 어떻게 변화하는지가 중요하다.
때문에 시간복잡도는 기본적으로
데이터 수 변화에 따라 달라지지 않는 O(1)
데이터 수 변화에 따라 달라지는 O(N) & O(logN)
로 표현된다.
시간복잡도를 공부하는데 꼭 같이 딸려오는 알고리즘들이 있는데
바로 '정렬 알고리즘' 되시겠다.
'그 외 > 클래식' 카테고리의 다른 글
float를 모르면 사람이 죽는 이유와 대책 (0) | 2025.06.13 |
---|---|
C#, C++ 1,000,000번 연산 속도는 왜 다를까 (0) | 2024.08.22 |
60FPS를 만들기 위한 조건 (0) | 2024.08.21 |
헝가리안 표기법 (0) | 2024.02.14 |