Resolvendo a recorrência T (n) = 3T (n-2) com o método iterativo

7

Já faz um tempo desde que tive que resolver uma recorrência e queria ter certeza de que entendia o método iterativo de resolver esses problemas. Dado:

T(n)=3T(n2)

Meu primeiro passo foi substituir termos iterativamente para chegar a uma forma geral:

T(n2)=3T(n22)=3T(n4)
T(n)=33T(n4)

levando à forma geral:

T(n)=3kT(n2k)

Agora, resolvo n2k=1 para k , que é o ponto em que a recorrência para (onde T(1) ) e insiro esse valor ( n/21/2=k ) na forma geral:

T(n)=3n/21/2
T(n)=O(3n)

Não tenho certeza sobre o último passo:

Gostaria apenas de "argumentar" que, como se pode ignorar e ? Essa suposição está correta?n1/2n/2n

wpp
fonte

Respostas:

7

Observe que . Portanto, o se torna um fator constante absorvido pelo , mas no expoente altera a base e a alteração da base altera a classe3n/21/2=133n/2=133n12O()n2O

A resposta correta é .T(n)=O(3n/2)=O(3n)

FrankW
fonte
Obrigado a ambos @FrankW e @Jared! Marquei esta resposta como correta, pois contém uma explicação (alterar a base muda a classe O).
Wpp
6

Tudo estava correto até o último passo ... você encontrou:

T(n)3n212=(3n1)12=13(3)n
Jared
fonte