Well, to pick on Valeri, this is simply wrong<p><pre><code>   Trees are the single most important data structure in computer science. Just 
   about everything you do in your programming career will be related to trees.
</code></pre>
Trees are a horrid data structure for any modern processor.  Pointer chasing thrashes caches.  The actual most important data structure is a hashmap.  The same speed in theory, much faster in practice.