Доказать Big O обозначения - PullRequest
0 голосов
/ 07 сентября 2018

Я новичок и прохожу онлайн-курс по алгоритму, и когда я ссылаюсь на книгу, я обнаружил следующие вопросы.

  1. Учитывая, что f (x) = 2x ^ 2 + 5x +3 и g (x) = 2x ^ 3 + x -100, докажите, что f (x) = O (g (x))

    Let c = 4 and x = 5, 
    2x^2 + 5x +3 <= c(2x^3 +x -100)  
    I tried to solve the left side as follows. 
    if x >=1, then x <=x^3, 5x <= 5x^3 ... 
    2x^2 + 5x +3 => 2x^3 + 5x^3 +3x^3
                 => 10x^3
    

    Мой вопрос: могу ли я проигнорировать -100 г (х) и сравнить его с 10х ^ 3 с некоторым значением с?

  2. Правильно ли говорить, что время выполнения приведенного ниже алгоритма равно O (n (logn))?

    int foo(int n){
        int i,j,k=0; 
        for(i = n/2; i <= n; i++){
            for(j = 2; j<= n; j = j * 2){
                k += n/2; 
            } 
        } 
        return k; 
    }
    

Спасибо за любые объяснения.

...