I have programming interviews coming up in a couple weeks. I took an algorithms class a while ago but likely forgot some key concepts.

I'm looking for something like a very short book (< 100 pages) on algorithms to get back up to speed. Sorting algorithms, data structures, and any other essentials should be included. It doesn't have to be a book...just looking for a great way to get caught up in about a week.

What's the best tool for a quick algorithms intro or refresher?

  • Short? I'm thinking a University Course textbook or something. Commented Sep 19, 2012 at 10:18
  • What kind of jobs are you interviewing for (language, type of work, etc.). If you're interviewing for the typical corporate job (CRUD apps/websites, reporting, etc.) you probably won't be asked about algorithms but your abilities with frameworks, database queries and such. If you're doing embedded systems and the like, algorithms are more likely to come up.
    – jfrankcarr
    Commented Sep 19, 2012 at 11:05

5 Answers 5


Take a look at TopCoder Algorithm Tutorials. They are very informal, which lets them stay short and to the point - a luxury no serious algorithm book can afford. The goal of these tutorials is to refresh your knowledge if you studied these algorithms before, or to give you an initial direction in exploring a particular group of algorithms.


Ok, every recruiter from a tech company says the same thing before you're interview:

Study up on algorithms, as they will ask you about that during the interview.

Since you've basically quoted that sentence verbatum, I'm going to make the not-so-outlandish-guess that you're interviewing for a major tech company (whether it is Google, Microsoft, Apple, Amazon, or what not--they all do the same thing to their candidates).

You need books that focus on the algorithms they will quiz you on during the interview, as this will give you a better idea of what to expect. My recommendations:

enter image description here



enter image description here


I highly recommend that you read these books, especially the first one (wink, wink, nudge, nudge, cough--Imightbetalkingfromexperience--cough ).

In all seriousness though, a programming interview at a major tech company is nothing like interviews everywhere else. You need to be prepared for it because you're going up against people who have been preparing for months.

Read the books, practice writing code on paper, and knock it out of the park :)


Introduction to algorithms

I used this book at my university having been a necessary book for the course, but I've found it to be quite thorough. It's quite handy to have around as a reference as well.

If you'd prefer an online source, you should take a look at this site.

  • I purchased this book a few months ago but I found it too impractical for my tastes as it tends to spend pages upon pages proving the mathematical correctness of algorithms. Which is no bad thing per se, but I found it too much for me.
    – djhworld
    Commented Sep 19, 2012 at 7:29
  • Doesn't seem to be what I'm looking for. Looking for a real quick refresher to get back up to speed in a week or so. This book is 1300 pages! Commented Sep 19, 2012 at 8:35

I'm currently enjoying this book

enter image description here

The examples are written in Java but can easily be adapted to other languages. It's very practical, but not as mathematically thorough as some other books.

  • 1
    +1 This is the first book that I've read on algorithms that made algorithms much easier to understand. Additionally, the book's website provides access to all of the algorithms in code. Furthermore, Coursera's Algorithms Part 1 and Algorithms, Part 2 are excellent video lectures!
    – Anthony
    Commented Sep 20, 2012 at 3:29
  • This book is 900+ pages, I thought he was asking for something within 100 pages?
    – Pacerier
    Commented Jun 18, 2014 at 20:43

Define the search criteria

It might be waste of time to dive into all arbitrary algorithm book and try to grasp something out of it. Instead, i would suggest to look at practical algorithm books tailored toward real-world problems in software development process. In addition, having examples in the programming language of your choice is another point to consider.

Thus, i would suggest to look at content, examples and readability before picking one and refreshing my knowledge.

Here you are two good references that may help you to decide:

Not the answer you're looking for? Browse other questions tagged or ask your own question.