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