mirror of
https://github.com/autistic-symposium/master-algorithms-py.git
synced 2025-04-30 12:46:11 -04:00
38 lines
631 B
Markdown
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]
|
|
```
|