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


7

Estou procurando uma aproximação de Θ

T(n)=T(n−1)+cn2

Isto é o que eu tenho até agora:

T(n−1)=T(n−2)+c(n−1)2T(n)=T(n−2)+c(n−1)+cn2T(n−2)=T(n−3)+c(n−2)2T(n)=T(n−3)+c(n−2)2+c(n−1)2+cn2T(n−3)=T(n−4)+c(n−3)2T(n)=T(n−4)+c(n−3)2+c(n−2)2+c(n−1)2+cn2

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

T(n)=T(n−k)+(n−(k−1))2+c(k−1)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.(n−k+1)2k2−2kn−2k+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.n−k=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(n−1)+cn2=T(n−2)+c(n−1)2+cn2=…=T(n−n)+c(12)+c(22)+…cn2=T(0)+c∑1≤i≤ni2.

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(n−1)+f(n)T(n)=∑i=0nf(i)


2

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

∑i=1ni2≈∫1ni2di=13i3]1n=13(n3−1)≤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.