Relação de recorrência para complexidade de tempo


7

Estou procurando uma aproximação de Θ

T(n)=T(n1)+cn2

Isto é o que eu tenho até agora:

T(n1)=T(n2)+c(n1)2T(n)=T(n2)+c(n1)+cn2T(n2)=T(n3)+c(n2)2T(n)=T(n3)+c(n2)2+c(n1)2+cn2T(n3)=T(n4)+c(n3)2T(n)=T(n4)+c(n3)2+c(n2)2+c(n1)2+cn2

Então, nesse ponto, eu ia generalizar e substituir na equação.k

T(n)=T(nk)+(n(k1))2+c(k1)2

Agora, começo a trazer o caso base 1 para a imagem. Em alguns problemas anteriores mais simples, consegui definir minha equação k generalizada igual a 1 e depois resolver . Em seguida, coloque volta na equação para obter minha resposta final.kk

Mas estou totalmente preso na parte . Quero dizer, eu deveria realmente esconder tudo isso? Eu fiz isso e obtive . Neste ponto, estou pensando que devo ter feito algo errado, pois nunca vi isso em problemas anteriores.(nk+1)2k22kn2k+n2+2n+1=1

Alguém poderia me oferecer alguma ajuda sobre como resolver este? Eu apreciaria muito. Também tentei outra abordagem em que tentei definir da última parte da equação e obtive esse . Liguei n de volta à equação no final e finalmente obtive como resposta. Eu não tenho idéia se isso está certo ou não.nk=0k=nn2

Estou em uma classe de análise de algoritmos e começamos a fazer relações de recorrência e não tenho 100% de certeza se estou corrigindo esse problema. Chego a um ponto em que estou preso e não sei o que fazer. Talvez eu esteja fazendo errado, quem sabe. A pergunta não se importa com limites superiores ou inferiores, apenas quer um teta.


Consulte esta pergunta para obter bastante material sobre como resolver recorrências.
Raphael

Respostas:


9

Apenas continue seu raciocínio da seguinte maneira.

T(n)=T(n1)+cn2=T(n2)+c(n1)2+cn2==T(nn)+c(12)+c(22)+cn2=T(0)+c1ini2.

Você sabe como simplificar isso usando a fórmula de adição para os primeiros quadrados? n


Não sei bem o que você quer dizer com a fórmula de adição para os primeiros n quadrados. É como coisas do tipo n (n + 1) / 2?
Tastybrownies

Exatamente, isso mesmo #
PKG

3

Mais geralmente, qualquer relação de recorrência da forma tem a solução .T(n)=T(n1)+f(n)T(n)=i=0nf(i)


2

às vezes é difícil lembrar as fórmulas, a integração pode ser útil -

i=1ni21ni2di=13i3]1n=13(n31)cn3=O(n3)

Eu amo esse método, mas ele não dá a você . Ω
Pratik Deoghare

2
@PratikDeoghare sim, sim. porque a função é monótona. f(i)=i2
Igor Shinkar 28/09
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.