Résoudre la récurrence

12

Comment résoudre la relation de récurrence suivante?

f(n)=f(n1)+f(nlogn)
boulette de Mobius
la source
5
Qu'obtenez-vous si vous essayez ? Il semble que vous obtiendrez une borne inférieure de 2 Ω ( n / log n ) . f(n)=2f(nlogn)2Ω(n/logn)
Chandra Chekuri du
2
@ChandraChekuri Oh, c'est génial! Et il y a une limite supérieure de : nous utilisons le log de récurrence n fois, et obtenons que f ( n ) ( 1 + log n ) f ( n - log n ) . Ensuite, nous appliquons ce n / log n fois et obtenons f ( n ) ( 1 + log n2O(nloglogn/logn)lognf(n)(1+logn)f(nlogn)n/logn . Ainsi, l'écart entre la borne supérieure et la borne inférieure n'est que log log n dans l'exposant. C'est en fait suffisant pour mes besoins, mais je vais laisser la question ouverte au cas où quelqu'un le voudrait et serait en mesure de combler l'écart. Merci beaucoup, Chandra! f(n)(1+logn)n/logn=2O(nloglogn/logn)loglogn
mobius dumpling
4
Eh bien, la même astuce donne , donc f ( n ) = 2 Θ ( n log log n / log n ) . f(n)(logn)f(n2logn)f(n)=2Θ(nloglogn/logn)
Emil Jeřábek

Réponses:

14

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

logn

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

logn

f(n)(logn+1)f(nlogn) .
n/logn2O(nloglogn/logn)
boulette de Mobius
la source