Introduction to Algorithms #
General Advice to Beginners #
It is OK to be stuck on something. Be ware of your stress level. Self-care is very important.
The exercises are the treasures of this book. If you want to understand the whys and hows of algorithms, you should do the exercises. They will push you to think further and sometimes even creatively. So the algorithms are less the dry words than something you can temper with.
I have been stuck on the exercises very often. The reason behind these blind alleys are not that I am not smart enough but that I misunderstood the requirements or hints in question stems. The best way for dealing with these misunderstanding is to read the solutions from other readers. Though seemingly cheating, Reading solutions as soon as you are stuck could be more productive than you think. I have attached solutions and resources below.
Resources and Solutions #
- 6.006 MIT Algorithm Course
- 6.046J MIT Design and Analysis Algorithm Course
- A comprehensive solutions from Andrew Lohr, a former mathematics TA from Rutgers and current Data Scientist at Microsoft
- The Instructor’s Manual: You will get the answers of the odd-indexed questions straight from the authors.
- A crowdsourced Solutions: Some of the solutions may be omitted.
Chapter Specific Advice #
Hash Chapters #
Hash chapters are much harder for me than previous chapters. I find it helpful to read the Chapter 31 Numeric Theoretic Algorithms first. You can also watch lectures from 6.006 and 6.046.
Disclaimer #
Most of my solutions to these exercises will be hand written. Some of the hand writings may be hard to recognize.