bt3gl a85ed914d3 👾
2023-07-30 21:40:09 -07:00

38 lines
631 B
Markdown

## math, logic, dynamic programming
<br>
### dynamic programming
<br>
* 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.
<br>
---
### examples
<br>
```python
python3 fibonacci.py
Testing fibonacci
Fibonacci of 10: 55
```
<br>
```python
python playing_with_math.py
Greatest common divider of 21 and 7 is 7
Prime factors of 21 are [3, 7]
```