Algorithms in C Parts 1-4: Fundamentals, Data structures, Sorting, Searching - Sedgewick, Robert (Addison-Wesley, Reading, Massachusetts, 1999)