Skip to main content

fib_memo

Function fib_memo 

Source
pub fn fib_memo(n: u32) -> u128
Expand description

Fibonachchi — top-down (memoizatsiya) uslubi.

Sodda rekursiya fib(n-1) + fib(n-2) bir xil qiymatni eksponensial marta hisoblaydi: fib(40) uchun ~2 milliard chaqiruv. Kesh qo’shsak — n ta chaqiruv.

Keshsiz:  fib(5)
         /      \
     fib(4)    fib(3)     ← fib(3) ikki marta hisoblanadi
     /    \     /    \
  fib(3) fib(2) ...

Kesh bilan: har bir fib(k) atigi bir marta hisoblanadi.
  • Time: O(n), Space: O(n) (kesh + stack).

§Misol

use rust_algorithms::dp::fib_memo;

assert_eq!(fib_memo(10), 55);
assert_eq!(fib_memo(50), 12586269025); // bir zumda