Computation on Graphs

The Wolfram System has extensive graph computation capabilities, including finding paths,  cycles, and subgraphs based on connectivity to direct support for traversal-based programming.

(OrangeLink[Operations and Modifications », paclet:guide/GraphModifications])

(RefLink[NeighborhoodGraph, paclet:ref/NeighborhoodGraph]) — graph neighborhood of some vertex, edge, etc.

(OrangeLink[Paths, Cycles, and Flows », paclet:guide/GraphPathsCyclesAndFlows])

(RefLink[FindMaximumFlow, paclet:ref/FindMaximumFlow]) — find the maximum flow between two vertices

(OrangeLink[Components and Connectivity », paclet:guide/GraphComponents])

(RefLink[ConnectedComponents, paclet:ref/ConnectedComponents]) — give groups of vertices that are strongly connected

(OrangeLink[Cliques, Covers, and Independent Sets », paclet:guide/GraphCliquesCoversAndIndependentSets])

(RefLink[FindClique, paclet:ref/FindClique]) — find complete subgraphs

Graph Polynomials

(RefLink[TuttePolynomial, paclet:ref/TuttePolynomial]) — compute the Tutte polynomial of a graph

(OrangeLink[Graph Programming », paclet:guide/GraphProgramming])

(RefLink[DepthFirstScan, paclet:ref/DepthFirstScan]) — scan a graph in depth-first order