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?

marked as duplicate by gnat, Robert Harvey, thorsten müller, user40980, 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.

migrated from stackoverflow.com Aug 31 '11 at 11:35

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

  • There are tons of questions like this one already on Software Engineering(programmers.stackexchange.org). 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

Get an account on http://topcoder.com. 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.

  • 1
    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.


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

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