November 2024
Intermediate to advanced
416 pages
11h 11m
English
A graph is an abstract data type that can be implemented with a variety of data structures. This chapter introduces the fundamental components of a graph, nodes and edges, then shows how to build the two most common graph representations: adjacency lists and adjacency matrices. Understanding the structure and composition of graphs is critical to harnessing their power and designing algorithms to use them efficiently.
To implement the graphs, we define the Edge, Node, and Graph classes upon which almost every algorithm in this book relies. We discuss what information the classes store and provide functions for interacting ...