Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?

share|improve this question

closed as not constructive by gnat, Walter, Jim G., Karl Bielefeldt, Yusubov Sep 22 '12 at 12:16

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

    
Short? I'm thinking a University Course textbook or something. –  Joris Timmermans Sep 19 '12 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 Sep 19 '12 at 11:05
add comment

5 Answers

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.

share|improve this answer
add comment

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.

share|improve this answer
    
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 Sep 19 '12 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! –  Casey Patton Sep 19 '12 at 8:35
add comment

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.

share|improve this answer
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 Sep 20 '12 at 3:29
    
This book is 900+ pages, I thought he was asking for something within 100 pages? –  Pacerier Jun 18 at 20:43
add comment

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

http://www.amazon.com/Programming-Interviews-Exposed-Secrets-Programmer/dp/047012167X/ref=sr_1_2?s=books&ie=UTF8&qid=1348063912&sr=1-2&keywords=coding+interview

And

enter image description here

http://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/098478280X

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 :)

share|improve this answer
add comment

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:

share|improve this answer
add comment

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