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

**Graphs and Matrices**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.

**Label 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.