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


Design Problems


Problems on Fundamental Algorithms


Math Tools Problems


Problems on NP-Completeness