Challenging algorithms and data structures every programmer should try
A list of interesting algorithms and data structures you should try: Jeff Erickson's Algorithms ( Amazon, web) or Daniel Zingaro's Algorithmmic Thinking ( Amazon) The most known unknown data structure is the Myers diff algorithm. Splay trees are binary trees that will tend to have the more recently accessed elements closer to the root.