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