시간 복잡도
빠름 -> 느린 순서
상수 시간 < 로그 시간 < 선형 시간 < 선형 로그 시간 < 이차 시간 < 지수 시간 < 팩토리얼 시간
for (let i = 0; i < n; i++){
...
}
for (let i = 1; i <= n; i *= 2){
...
}
입력 받은 n에 로그를 씌운 만큼 반복문을 돈다
for (let i = 0; i < n; i++){
for (let j = 1; j <= n; j *= 2){
...
}
}
for (let i = 0; i < n; i++){
for (let j = 1; j < n; j++){
...
}
}
for (let i = 0; i < n * 3; i++){}
for (let i = 0; i < n * 2; i++){}
계수 법칙에 의해 계수는 무시되어 O(n + m)의 시간 복잡도를 가진다.
for (let i = 0; i < n; i++){
for (let j = 1; j < n; j++){
...
}
}
for (let i = 0; i < n; i++){}
O(n^2 + n)의 시간 복잡도를 가지지만 작은 항은 무시되어 O(n^2)의 시간 복잡돌르 가진다.
const start = new Date().getTime();
// 알고리즘 로직
const end = new Date().getTime();
console.log(end - start);