This book provides a fun and accessible introduction to graph algorithms, commonly used to solve a wide range of computational and mathematical problems. Full of humorous analogies, detailed diagrams, and real-world examples using the Python programming language, Graph Algorithms the Fun Way will show you how graph data structures can model a vast variety of phenomena - from physical mazes to communication networks - while helping you develop a strong foundation for how they work, when to use them, and how to create variants. It starts with the structure of graphs, demonstrating the ways they can represent connections between nodes, such as the best route through a city or how rumours spread in a social network. Each subsequent chapter introduces new graph algorithms along with their underlying concepts and applications - from basic searches to more advanced methods of exploring graphs. You'll have a blast solving brain-teasers including the 15-square puzzle, matching adopted pets with homes, calculating the maximum flow of a sewage network, traversing magical labyrinths, sorting recipe steps to craft the perfect cookies, and more. You'll also learn how to: Work with weighted and directed graphs, Use heuristics to prioritize which paths in a graph to explore, Determine which components of a graph are key for its structural integrity, Generate random mazes. Guided by the bestselling author of Data Structures the Fun Way, this equally fun follow-up will help you build a strong understanding of a crucial coding topic and apply graph algorithms to your own projects.
Rezensionen / Stimmen
"Graphs may be the most natural data structure in the world. This comprehensive book unpacks the magic and mystery of many fascinating graph algorithms that enable powerful applications and insights from graphs."
-Kirk Borne, PhD, Chief Science Officer at DataPrime
Sprache
Verlagsort
Produkt-Hinweis
Maße
Höhe: 236 mm
Breite: 182 mm
Dicke: 30 mm
Gewicht
ISBN-13
978-1-7185-0386-1 (9781718503861)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Klassifikation
Jeremy Kubica is an engineering director working at the intersection of computer science and astrophysics. He holds a PhD in robotics from Carnegie Mellon University and a BS in computer science from Cornell University. He is the author of The CS Detective, Data Structures the Fun Way (both from No Starch Press), and Computational Fairy Tales.
Introduction
Part I: Graph Basics
Chapter 1: Representing Graphs
Chapter 2: Neighbors and Neighborhoods
Chapter 3: Paths Through Graphs
Part II: Search and Shortest Paths
Chapter 4: Depth-First Search
Chapter 5: Breadth-First Search
Chapter 6: Solving Puzzles
Chapter 7: Shortest Paths
Chapter 8: Heuristic Guided Searches
Part III: Connectivity and Ordering
Chapter 9: Topological Sort
Chapter 10: Minimum Spanning Tree
Chapter 11: Bridges and Articulation Points
Chapter 12: Strongly Connected Components
Chapter 13: Random Walks
Part IV: Max-Flow and Bipartite Matching
Chapter 14: Max-Flow Algorithms
Chapter 15: Bipartite Graphs and Bipartite Matching
Part V: Hard Graph Problems
Chapter 16: Graph Coloring
Chapter 17: Independent Sets and Cliques
Chapter 18: Tours Through Graphs
Appendix A: Constructing Graphs
Appendix B: Priority Queue
Appendix C: Union-Find
Conclusion