แก้ปัญหาการเกิดซ้ำ


12

ฉันจะแก้ไขความสัมพันธ์ที่เกิดซ้ำต่อไปนี้ได้อย่างไร

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

5
คุณจะได้อะไรถ้าคุณลอง ? ปรากฏว่าคุณจะได้รับขอบเขตล่างของ2 Ω ( n / log n ) f(n)=2f(n−log⁡n)2Ω(n/log⁡n)
— จันทรา Chekuri

2
@ChandraChekuri โอ้เยี่ยมมาก! และมีความผูกพันบนของ : เราใช้การกำเริบบันทึกnครั้งและได้รับที่F ( n ) ≤ ( 1 + log n ) ฉ( n - บันทึกn ) จากนั้นเราจะใช้n / log nครั้งนี้และรับf ( n ) ≤ ( 1 + log n2O(nlog⁡log⁡n/log⁡n)log⁡nf(n)≤(1+log⁡n)f(n−log⁡n)n/log⁡n ) ดังนั้นช่องว่างระหว่างขอบเขตบนและขอบเขตล่างจึงเป็นเพียงบันทึกล็อกnในเลขชี้กำลัง นี่เพียงพอสำหรับวัตถุประสงค์ของฉัน แต่ฉันจะปล่อยให้คำถามเปิดในกรณีที่มีคนต้องการและสามารถปิดช่องว่าง ขอบคุณมากจันทรา! f(n)≤(1+log⁡n)n/log⁡n=2O(nlog⁡log⁡n/log⁡n)log⁡log⁡n
— mobius เกี๊ยว

4
ดีเคล็ดลับเดียวกันให้ดังนั้นF ( n ) = 2 Θ ( n เข้าสู่ระบบเข้าสู่ระบบn / log n ) f(n)≥(log⁡n)f(n−2log⁡n)f(n)=2Θ(nlog⁡log⁡n/log⁡n)
— Emil Jeřábek

คำตอบ:


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)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.