How to use the Algorithm Design Manual
Tags: programming, beginners, help, tutorial
Published: 2022-05-11 19:20:42

## Why is the Algorithm Design Manual awesome

The Algorithm Design Manual (ADM) is widely considered one of the best resources for big tech interview prep. It’s a book that doesn’t cut any corners and teaches you the math behind all of the data structures and algorithms you can expect to see during an interview. I dive deeper into why it’s better than other books [here](https://fangprep.substack.com/p/dont-buy-cracking-the-coding-interview).

---

# How to use ADM

> Read and do the odd problems for the first half of the book
> 

Do not rush this part of the process. The book is pretty dry, but it’s thorough and will teach you what you need to know. The problems at the end of the chapters increase in difficulty and will help you learn how to start getting creative with the different data structures and algorithms.

You can find the [solutions to odd problems here](https://www.algorist.com/algowiki_v2/index.php/The_Algorithms_Design_Manual_(Second_Edition)).

**Note:** [Hackpack](https://hackpack.io/) members have flagged that some solutions there are inaccurate. If you find any problems with a solution, please let us know in the [discord](https://discord.gg/M8944Xz26m) so we can fix them in the wiki for everyone.

> Skip the second half of the book
> 

When the chapters switch to real world examples, you can move on to other resources. This section is titled **The Hitchhiker's Guide to Algorithms.** This part of the book is incredibly interesting, but not the best use of time when preparing for programming interviews.

> Watch video lectures if stuck
> 

Having trouble on a particular section? Watch the youtube lectures to get a fresh take [from the author himself](https://www.youtube.com/watch?v=22hwcnXIGgk). If it’s still not clicking, feel free to ask for help in the [discord](https://discord.gg/M8944Xz26m) #help-plz channel. A lot of community members have worked through the book already so you can expect some solid advice.

> Take your time with chapter 2
> 

This is arguably the most important chapter of the book. Chapter 2 is all about algorithm analysis which is a critical skill to develop for your interviews. Learning how to problem solve your way to optimal solutions is something every interviewer is looking for. This chapter sets the foundation for the rest of the book. If nothing else, read this chapter and do the problems.

> Don't spend too much time on NP/NP-Complete/NP-Hard topics
> 

You should read the chapter on **Intractable Problems and Approximation Algorithms,** but don’t do the problems**.** Understand why this class of problem is interesting, and how approximation algorithms attempt to create “good enough“ solutions, but you shouldn’t go down the rabbit hole here. (I did and I wasted 2 full months when I was studying).

> Don't spend too much time on writing proofs in Chapter 1
> 

You should read the chapter and do the problems here, but if you find yourself getting stuck it’s ok to skip through to Chapter 2. The goal is to extract the lessons about how to find counter examples, prove correctness and leverage induction.

This is a chapter you should read, and do a few problems for, but you don’t want to let this chapter kill your pacing.

> Skip older style problems
> 

Sometimes you’ll encounter old-world estimation problems. If it feels silly, skip it: **example: `1.36. How much does the ice in a hockey rink weigh?`**

These are older school programming interview questions and have been largely phased out. It’s better to spend time elsewhere.

> This shouldn’t be your only resource
> 

ADM is an excellent resource that gives you strong fundamentals that will help you during big tech interviews, but it isn’t sufficient to only use this book. You should also be [conducting mock interviews](https://www.hackpack.xyz/), solving LC/Hackerrank problems and discussing topics with others to find any gaps in your knowledge.

# Join the community

[Hackpack](https://hackpack.io/)is the most active community of developers studying for programming interviews. You can apply on the site!

If you get stuck working through ADM, you can ask for help in the [discord](https://discord.gg/M8944Xz26m)

I tweet interview tips [here](https://twitter.com/DannyHabibs)

[Big Tech Interview Tips Newsletter](https://fangprep.substack.com/) 

**Have a tip for how to best use the book?**

lmk on discord dan#9955 and I’ll add it to the list !