## Suggested Optional Problems

To learn algorithms it is necessary to solve many problems--many more
than your instructor will regquire youi to hand in. You should solve
at least one problem every day. I hope that this list will help
you focus your attention on some especially helpful learning
opportunities, organized by type of problem (design, analysis,
fundamental algorithm, math tools, NP-completeness). --Alan Sherman

### Analysis Problems

- Basic Analysis

- Probabilistic Analysis

- Amortized Analysis

### Design Problems

### Problems on Fundamental Algorithms

### Math Tools Problems

- Summations

- Recurrences

- Asymptotic Notation

- Probability

- Proofs

- Misc Techniques, including floors and ceilings

### Problems on NP-Completeness