본문 바로가기

TIL

191119(화) TIL-1. Time Complexity 2

[CODESTATES im16] Time Complexity 2

1. Time Complexity 2

1-1. O(1): constant time

입력데이터의 크기와 상관 없이 언제나 일정한 시간이 걸리는 알고리즘

F(n) {
    return (n[0] === 0) ? true : false;
}

1-2. O(n): linear time

입력데이터의 크기와 비례해서 시간이 증가하는 알고리즘

function F(n) {
    for (let i = 0; i < n.length; i++) {
        conosole.log(i);
    }
}

1-3. O(n^2): quadratic time

function F(n) {
    for (let i = 0; i < n.length; i++) {
        for (let j = 0; j < n.length; j++) {
            console.log(i + j);
        }
    }
}

O(n^2)

1-4. O(nm)

function F(n, m) {
    for (let i = 0; i < n.length; i++) {
        for (let j = 0; j < m.length; j++) {
            console.log(i + j);
        }
    }
}

O(nm)