Resolva a recorrência


12

Como posso resolver a seguinte relação de recorrência?

f(n)=f(n−1)+f(n−log⁡n)

5
O que você ganha se tentar ? Parece que você obterá um limite inferior de 2 Ω ( n / log n ) . f(n)=2f(n−log⁡n)2Ω(n/log⁡n)
— Chandra Chekuri

2
@ChandraChekuri Oh, isso é ótimo! E existe um limite superior de : usamos o log de recorrência n vezes e obtemos que f ( n ) ≤ ( 1 + log n ) f ( n - log n ) . Então aplicamos esse n / log n vezes e obtemos f ( n ) ≤ ( 1 + log n2O(nlog⁡log⁡n/log⁡n)log⁡nf(n)≤(1+log⁡n)f(n−log⁡n)n/log⁡n . Portanto, a diferença entre o limite superior e o limite inferior é apenas log log n no expoente. Isso é realmente suficiente para meus propósitos, mas deixarei a pergunta em aberto caso alguém queira e consiga fechar a lacuna. Muito obrigado, Chandra! f(n)≤(1+log⁡n)n/log⁡n=2O(nlog⁡log⁡n/log⁡n)log⁡log⁡n
— mobius dumpling

4
Bem, o mesmo truque fornece , então f ( n ) = 2 Θ ( n log log n / log n ) . f(n)≥(log⁡n)f(n−2log⁡n)f(n)=2Θ(nlog⁡log⁡n/log⁡n)
— Emil Jeřábek 3.0

Respostas:


14

f(n)=2Θ(nlog⁡log⁡n/log⁡n) .

log⁡n

f(n)=2f(n−log⁡n)+f(n−log⁡n−1)+…+f(n−2log⁡n)≥log⁡n⋅f(n−log⁡n) .
n/log⁡n2Ω(nlog⁡log⁡n/log⁡n)

log⁡n

f(n)≤(log⁡n+1)⋅f(n−log⁡n) .
n/log⁡n2O(nlog⁡log⁡n/log⁡n)
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.