Memecahkan pengulangan


12

Bagaimana saya bisa menyelesaikan hubungan perulangan berikut?

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

5
Apa yang Anda dapatkan jika Anda mencoba ? Tampaknya Anda akan mendapatkan batas bawah 2 Ω ( n / log n ) . f(n)=2f(nlogn)2Ω(n/logn)
Chandra Chekuri

2
@ChandraChekuri Oh, bagus sekali! Dan ada batas atas : kita menggunakan log perulangan n kali, dan mendapatkan f ( n ) ( 1 + log n ) f ( n - log n ) . Kemudian kita menerapkan ini n / log n kali dan mendapatkan f ( n ) ( 1 + log n2O(nloglogn/logn)lognf(n)(1+logn)f(nlogn)n/logn . Jadi kesenjangan antara batas atas dan batas bawah hanya log log n di eksponen. Ini sebenarnya cukup untuk tujuan saya, tetapi saya akan membiarkan pertanyaan terbuka jika seseorang ingin dan mampu menutup kesenjangan. Terima kasih banyak, Chandra! f(n)(1+logn)n/logn=2O(nloglogn/logn)loglogn
Mobius dumpling

4
Nah, trik yang sama memberi , jadi f ( n ) = 2 Θ ( n log log n / log n ) . f(n)(logn)f(n2logn)f(n)=2Θ(nloglogn/logn)
Emil Jeřábek 3.0

Jawaban:


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)
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.