Regra do Coeficiente: “Livre-se das Constantes”

Vamos rever a regra do coeficiente. Essa regra é a mais fácil de entender. Simplesmente necessita que você ignore qualquer tamanho de entrada de dados das constantes.

Coeficientes no Big-O são insignificantes. Além disso, a regra mais importante do Big-O são as notações.

Se f(n) é O(g(n)), então kf(n) é O(g(n)), para qualquer constante k>0.

Isto significa que ambos 5f(n) e f(n) tem a mesma notação de Big-O de O(f(n)). Um exemplo de código com a complexidade de O(n):

function a(n){

            var count = 0;

            for(var i = 0; i < n; i++){

                        count+=1;

            }

            return count;

}

Esse bloco de código tem f(n) = n. Isto adiciona uma contagem de n vezes. Além disso, essa função é O(n) de complexidade:

function a(n){

            var count = 0;

            for(var i = 0; i < 5*n; i++){

                        count+=1;

            }

            return count;

}

Esse bloco tem f(n) = 5n. Isto porque executa do 0 ao 5n. Contudo, os dois exemplos ambos têm a notação Big-O de O(n).

Simplesmente, porque se n é infinito ou qualquer outro número, as quatros operações adicionais são tem significados.

Isto vai ter uma execução de n vezes. Quaisquer constantes são insignificantes na notação Big-O.

O código a seguir apresenta uma outra função com uma complexidade linear com uma operação adicional na linha 6.

Esse bloco de código tem f(n) = n+1. Há um +3 na última operação (count+=3). Isto ainda tem a notação O(n) do Big-O.

Isto porque a operação + 3 não depende da entrada n. Como n pode ser infinito, ela se torna insignificante.

Regra da Soma: “Eleve os Big-OS”

A regra da soma é intuitiva de entender, complexidade temporal pode ser adicionada.

Imagine um mestre de algoritmo que envolve outros dois algoritmos. A notação Big-O deste mestre do algoritmo é simplesmente a soma das outras duas notações Big-O.

Se f(n) é O(h(n)) e g(n) é O(p(n)), então f(n)+g(n) é O(h(n)+p(n)).

É importante lembrar de aplicar a regra do coeficiente depois de aplicar esta regra.

Segue um código que apresenta uma função com dois loops onde suas complexidades devem ser consideradas independentes e então somadas:

Nesse exemplo, a linha 4 tem um f(n)=n e na linha 7 tem um f(n)=5n. Isso resulta em 6n.

Contudo, quando aplicada a regra do coeficiente, o resultado é O(n) = n.

Para enviar seu comentário, preencha os campos abaixo:

Deixe um comentário

*

Seja o primeiro a comentar!