Read more
A unified and accessible introduction for graduate courses in computational fluid dynamics and heat transfer. This unique approach covers all necessary mathematical preliminaries before walking the student through the most common heat transfer and fluid dynamics problems, then testing their understanding further with ample end-of-chapter problems.
List of contents
Part I. The Basics: 1. Introduction; 2. Asymptotic notation; 3. Divide-and-Conquer algorithms; 4. The master method; 5. QuickSort; 6. Linear-time selection; Part II. Graph Algorithms and Data Structures: 7. Graphs: the Basics; 8. Graph search and its applications; 9. Dijkstra's shortest-path algorithm; 10. The heap data structure; 11. Search trees; 12. Hash tables and Bloom filters; Part III. Greedy Algorithms and Dynamic Programming; 13. Introduction to greedy algorithms; 14. Huffman codes; 15. Minimum spanning trees; 16. Introduction to dynamic programming; 17. Advanced dynamic programming; 18. Shortest paths revisited; Part IV. Algorithms for NP-Hard Problems; 19. What is NP-Hardness?; 20. Compromising on correctness: efficient inexact algorithms; 21. Compromising on speed: exact inefficient algorithms; 22. Proving problems NP-hard; 23. P, NP, and all that; 24. Case study: the FCC incentive auction; Appendix A. Quick review of proofs By induction; Appendix B. Quick review of discrete probability; Epilogue. A field guide to algorithm design; Hints and solutions.
About the author
Tim Roughgarden is a Professor of Computer Science at Columbia University. His research, teaching, and expository writings have been recognized by a Presidential Early Career Award for Scientists and Engineers, the ACM Grace Murray Hopper Award, the EATCS-SIGACT Gödel Prize, a Guggenheim Fellowship, the INFORMS Lancaster Prize, and a Tau Beta Pi Teaching Award. His other books include Twenty Lectures on Algorithmic Game Theory (2016) and Beyond the Worst-Case Analysis of Algorithms (2021).
Summary
Algorithms Illuminated teaches the basics of algorithms in the most accessible way imaginable, with thorough coverage of asymptotic analysis, graph search and shortest paths, data structures, divide-and-conquer algorithms, greedy algorithms, dynamic programming, and NP-hard problems.