2023-07-30 15:57:50 -07:00
..
2023-07-30 15:57:34 -07:00
2023-07-30 15:57:44 -07:00
2023-07-29 21:03:50 -07:00

math, logic, dynamic programming


dynamic programming


  • take a recursive algorithm and cache overlapping problems (repeated calls).
  • the runtime is given by the number of calls.
  • top-down: how can we divide the problem into sub-problems?
    • top-down dynamic programming is called memoization.
  • bottom-up: solve for a simple case, then figure out for more elements.


examples


python3 fibonacci.py

Testing fibonacci
Fibonacci of 10: 55

python playing_with_math.py

Greatest common divider of 21 and 7 is 7
Prime factors of 21 are [3, 7]