Big O - O(log(n)) code example

后端 未结 7 1246
予麋鹿
予麋鹿 2020-12-23 12:37

Like the Big O notation \"O(1)\" can describe following code:

O(1):

    for (int i = 0; i < 10; i++) {
        // do stuff 
        a[i] = INT;
    }

O         


        
7条回答
  •  野趣味
    野趣味 (楼主)
    2020-12-23 12:48

    Simplest code with a for loop that you would use to represent:

    O(1):

    function O_1(i) {
        // console.log(i);
        return 1
    }
    

    O(n):

    function O_N(n) {
        count = 0;
        for (i = 0; i < n; i++) {
            // console.log(i);
            count++;
        }
        return count
    }
    

    O(n²):

    function O_N2(n) {
        count = 0;
        for (i = 0; i < n; i++) {
            for (j = 0; j < n; j++) {
                // console.log(i, j);
                count++;
            }
        }
        return count
    }
    

    O(Log_2(n)):

    function O_LOG_2(n) {
        count = 0;
        for (var i = 1; i < n; i = i * 2) {
    
            count++;
        }
        return count
    }
    

    O(Sqrt(n)):

    function O_SQRT(n) {
        count = 0;
        for (var i = 1; i * i < n; i++) {
            // console.log(i);
            count++;
        }
        return count
    }
    

提交回复
热议问题