# Graph and Network Algorithms

Graphs model the connections in a network and are widely applicable to a variety of physical, biological, and information systems. You can use graphs to model the neurons in a brain, the flight patterns of an airline, and much more. The structure of a graph is comprised of “nodes” and “edges”. Each node represents an entity, and each edge represents a connection between two nodes. For more information, see Directed and Undirected Graphs.

## Functions

## Objects

`GraphPlot` | Graph plot for directed and undirected graphs |

## Properties

GraphPlot Properties | Graph plot appearance and behavior |

## Topics

**Directed and Undirected Graphs**

Introduction to directed and undirected graphs.

This example shows an application of sparse matrices and explains the relationship between graphs and matrices.

**Modify Nodes and Edges of Existing Graph**

This example shows how to access and modify the nodes and/or edges in a `graph`

or `digraph`

object using the `addedge`

, `rmedge`

, `addnode`

, `rmnode`

, `findedge`

, `findnode`

, and `subgraph`

functions.

**Add Graph Node Names, Edge Weights, and Other Attributes**

This example shows how to add attributes to the nodes and edges in graphs created using `graph`

and `digraph`

.

**Graph Plotting and Customization**

This example shows how to plot graphs, and then customize the display to add labels or highlighting to the graph nodes and edges.

This example shows how to add and customize labels on graph nodes and edges.

**Add Node Properties to Graph Plot Data Tips**

This example shows how to customize `GraphPlot`

data tips to display extra node properties of a graph.

**Visualize Breadth-First and Depth-First Search**

This example shows how to define a function that visualizes the results of `bfsearch`

and `dfsearch`

by highlighting the nodes and edges of a graph.