Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

This question already has an answer here:

I just finished learning the basics on data structures and algorithms using Python and C, completing some of the exercises from the book I read. I feel that it is necessary to implement some of these data structures and algorithms to enhance my understanding about the material that I just learned, such as the red-black tree and priority queue.

Are there any good websites with material for me to use when practicing?

share|improve this question

migrated from Aug 31 '11 at 11:35

This question came from our site for professional and enthusiast programmers.

marked as duplicate by gnat, Robert Harvey, thorsten müller, MichaelT, Martijn Pieters Apr 8 '13 at 22:48

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

There are tons of questions like this one already on Programmers( Look for the self-improvement and learning tags. – blubb Aug 31 '11 at 11:32
@Simon, thanks for your advice. I will go and check it out. – Alcott Aug 31 '11 at 11:34
up vote 7 down vote accepted

Get an account on They run competitions among programmers to tackle problems involving data structures and algorithms. You'll be competing on correctness, runtime, and speed of implementation. They also have some very good tutorials.

share|improve this answer
Jay Elston mentioned the Cormen book on algorithms which is excellent. Another good book is Programming Interviews Exposed by Mongan, Suojanen, and Giguere. Google recommends this book for people coming in to interview (or at least they did, not too long ago). – Will Ware Aug 31 '11 at 20:06

Start with a search.

Search for the words "Code Kata"

Read those web sites for examples of things you can write that will require data structures and algorithms.

share|improve this answer

Pick up a copy of Introduction to Algorithms. Implement some of the algorithms.

Here is a list that will cover several interesting uses for data structures --

  • linked lists
  • binary search tree
  • hash table
  • Dijkstra's shortest path
  • KMP string matching
share|improve this answer

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