Skip to content

Chapter 3 References

Books

  • Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, Introduction to Algorithms. Chapters 2, 3, 15, and 16 cover divide and conquer, dynamic programming, and greedy algorithms.
  • Donald E. Knuth, The Art of Computer Programming, Volume 3: Sorting and Searching. Detailed treatment of sorting, radix methods, and distribution counting.
  • Donald E. Knuth, The Art of Computer Programming, Volume 4A: Fundamentals of Algorithmics. Dynamic-programming foundations and state-space analysis.
  • Steven C. Van Gundy, The Algorithm Design Manual. Practical tradeoffs among search paradigms and implementation constraints.
  • Doug Lea, Java Concurrency in Practice. Mutual exclusion, atomic state, thread safety, and concurrent execution.
  • Steve Lavington, The Art of Multiprocessor Programming. Locks, concurrent data structures, and parallel programming models.
  • Maurice Herlihy and Nir Shavit, The Art of Multiprocessor Programming. Lock-free programming, memory models, and transactional-memory foundations.

Websites