Explaining computer science algorithms/concepts/ideas using metaphors Recently I found an interesting algorithm book entitled 'Explaining Algorithms Using Metaphors' (Google books) by Michal Forišek and Monika Steinová. "Good" metaphors help people understand and even visualize the abstract concepts and ideas behind algorithms. 

For example,


  One well-known exposition of the shortest path using the balls-and-strings model
  looks as follows: To find the shortest path between $s$ and $t$, one just grabs the corresponding two balls and tries to pull them apart.  


My question:


  I would like to see as many metaphors as possible for computer science algorithms/concepts/ideas.
  Do you know any? Do you have your own ones?
B-Trees, N-ary Trees, Autocracy and Democracy

http://rkvsraman.blogspot.in/2008/08/b-trees-n-ary-trees-autocracy-and.html