Cover Coming Soon

Graph Algorithms the Fun Way

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

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

Table of contents 

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 5: Breadth-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.