Skip to Content
Graph Algorithms
book

Graph Algorithms

by Mark Needham, Amy E. Hodler
May 2019
Intermediate to advanced content levelIntermediate to advanced
265 pages
5h 58m
English
O'Reilly Media, Inc.
Book available
Content preview from Graph Algorithms

Chapter 2. Graph Theory and Concepts

In this chapter, we set the framework and cover terminology for graph algorithms. The basics of graph theory are explained, with a focus on the concepts that are most relevant to a practitioner.

We’ll describe how graphs are represented, and then explain the different types of graphs and their attributes. This will be important later, as our graph’s characteristics will inform our algorithm choices and help us interpret results. We’ll finish the chapter with an overview of the types of graph algorithms detailed in this book.

Terminology

The labeled property graph is one of the most popular ways of modeling graph data.

A label marks a node as part of a group. In Figure 2-1, we have two groups of nodes: Person and Car. (Although in classic graph theory a label applies to a single node, it’s now commonly used to mean a node group.) Relationships are classified based on relationship type. Our example includes the relationship types of DRIVES, OWNS, LIVES_WITH, and MARRIED_TO.

Properties are synonymous with attributes and can contain a variety of data types, from numbers and strings to spatial and temporal data. In Figure 2-1 we assigned the properties as name-value pairs, where the name of the property comes first and then its value. For example, the Person node on the left has a property name: "Dan", and the MARRIED_TO relationship has a property of on: Jan 1, 2013.

A subgraph is a graph within a larger graph. Subgraphs are useful as a filters ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Advanced Algorithms and Data Structures

Advanced Algorithms and Data Structures

Marcello La Rocca
Grokking Algorithms

Grokking Algorithms

Aditya Bhargava
Data Structures & Algorithms in Python

Data Structures & Algorithms in Python

John Canning, Alan Broder, Robert Lafore
Algorithms: 24-part Lecture Series

Algorithms: 24-part Lecture Series

Robert Sedgewick, Kevin Wayne

Publisher Resources

ISBN: 9781492047674Errata PageSupplemental Content