Risolvi la ricorrenza


12

Come posso risolvere la seguente relazione di ricorrenza?

f(n)=f(n1)+f(nlogn)

5
Cosa ottieni se provi ? Sembra che otterrai un limite inferiore di . f(n)=2f(nlogn)2Ω(n/logn)
Chandra Chekuri,

2
@ChandraChekuri Oh, fantastico! E c'è un limite superiore di : usiamo la ricorrenza volte e otteniamo quella . Quindi applichiamo questo volte e otteniamo . Quindi lo spazio tra il limite superiore e il limite inferiore è solo nell'esponente. Questo in realtà è abbastanza per i miei scopi, ma lascerò aperta la domanda nel caso in cui qualcuno voglia ed è in grado di colmare il divario. Grazie mille, Chandra! 2O(nloglogn/logn)lognf(n)(1+logn)f(nlogn)n/lognf(n)(1+logn)n/logn=2O(nloglogn/logn)loglogn
gnocco di mobius il

4
Bene, lo stesso trucco dà , quindi . f(n)(logn)f(n2logn)f(n)=2Θ(nloglogn/logn)
Emil Jeřábek 3.0

Risposte:


14

@Chandra, @Emil e io abbiamo risolto la domanda nei commenti. La soluzione è

f(n)=2Θ(nloglogn/logn) .

Per vedere il limite inferiore, applica la definizione di ricorrenza volte, per ottenere Usa questa disuguaglianza volte e scopriamo che la soluzione è .logn

f(n)=2f(nlogn)+f(nlogn1)++f(n2logn)lognf(nlogn) .
n/logn2Ω(nloglogn/logn)

Per ottenere il limite superiore, utilizzare la ricorrenza volte e ottenere quella Usa questa disuguaglianza volte e scopriamo che la soluzione è .logn

f(n)(logn+1)f(nlogn) .
n/logn2O(nloglogn/logn)
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.