# Graph Algorithms the Fun Way

by Jeremy Kubica
November 2024, 416 pp
ISBN-13:
9781718503861
Use coupon code PREORDER to get 25% off!

Look Inside!

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 rumors 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.

Author Bio

Jeremy Kubica is an engineering director with a BS in computer science from Cornell University and a PhD in robotics from Carnegie Mellon University where his work focused on creating algorithms to detect killer asteroids. He is the author of The CS Detective and Data Structures the Fun Way (both from No Starch Press).

Introduction

Part 1: Graph Basics
Chapter 1: Representing Graphs
Chapter 2: Neighbors and Neighborhoods
Chapter 3: Paths Through Graphs

Part 2: Search and Shortest Paths
Chapter 4: Depth-First Search
Chapter 6: Solving Puzzles
Chapter 7: Shortest Paths
Chapter 8: Heuristic Searches

Part 3: 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: Markov Systems

Part 4: Max-Flow and Bipartite Matching
Chapter 14: Max-Flow Algorithms
Chapter 15: Bipartite Graphs and Bipartite Matching

Part 5: 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 Data Structures

The chapters in red are included in this Early Access PDF.