van Emde Boas Trees: A tree structure which supports some heap operations (insert/extract-min) in O(lglg n) time using some nice storage and recursive tricks. I actually just wrote this up in Java and I'd be happy to throw it on Github if there is any interest. I found the chapter on these in Cormen's Introduction to Algorithms rather daunting and confusing so I'd look for other sources to get a good grasp on it.
Randomized data structures/algorithms: The use of randomization to achieve expected run-times where the worst-case is extremely pessimistic such as in randomized Quicksort to get an expected O(nlgn) bound, along with using the median of medians algorithm (another elegant recursive trick/analysis to prove an O(n) bound) for picking a pivot. Random hash tables and the proofs in number theory for building a 'universal' hash function using mod arithmetic to avoid collisions.
Continuations.
Why people love Erlang.
The reasons why Erlang is rarely used in practice.
Software rasterization.
Disruptor pattern.