Main Content

Graph and Network Algorithms

Directed and undirected graphs, network analysis

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.


expand all

graphGraph with undirected edges
digraphGraph with directed edges
addnodeAdd new node to graph
rmnodeRemove node from graph
addedgeAdd new edge to graph
rmedgeRemove edge from graph
flipedgeReverse edge directions
numnodesNumber of nodes in graph
numedgesNumber of edges in graph
findnodeLocate node in graph
findedgeLocate edge in graph
edgecountNumber of edges between two nodes
reordernodesReorder graph nodes
subgraphExtract subgraph
centralityMeasure node importance
conncompConnected graph components
biconncompBiconnected graph components
condensationGraph condensation
bctreeBlock-cut tree graph
toposortTopological order of directed acyclic graph
isdagDetermine if graph is acyclic
transreductionTransitive reduction
transclosureTransitive closure
isisomorphicDetermine whether two graphs are isomorphic
isomorphismCompute isomorphism between two graphs
ismultigraphDetermine whether graph has multiple edges
simplifyReduce multigraph to simple graph
bfsearchBreadth-first graph search
dfsearchDepth-first graph search
shortestpathShortest path between two single nodes
shortestpathtreeShortest path tree from node
distancesShortest path distances of all node pairs
allpathsFind all paths between two graph nodes
maxflowMaximum flow in graph
minspantreeMinimum spanning tree of graph
hascyclesDetermine whether graph contains cycles
allcyclesFind all cycles in graph
cyclebasisFundamental cycle basis of graph
adjacencyGraph adjacency matrix
incidenceGraph incidence matrix
laplacianGraph Laplacian matrix
degreeDegree of graph nodes
neighborsNeighbors of graph node
nearestNearest neighbors within radius
indegreeIn-degree of nodes
outdegreeOut-degree of nodes
predecessorsNode predecessors
successorsNode successors
inedgesIncoming edges to node
outedgesOutgoing edges from node
plotPlot graph nodes and edges
labeledgeLabel graph edges
labelnodeLabel graph nodes
layoutChange layout of graph plot
highlightHighlight nodes and edges in plotted graph


GraphPlotGraph plot for directed and undirected graphs


GraphPlot PropertiesGraph plot appearance and behavior


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.

Related Information

Featured Examples