En primer lugar cargaremos la librería que nos permite trabajar con los grafos

<<DiscreteMath`Combinatorica`

Dibujamos algunos ejemplos de grafos ya implementados en Mathematica: ciclo con 6 vértices y estrella de 7 vértices.

ShowGraph[Cycle[6]]

ShowGraph[Star[7]]

Vamos a dibujar un grafo: en primer lugar le decimos cómo están relacionados los vértices  (la expresión a la que llamamos “e”) y le damos las coordenadas cartesianas de los vértices  (la expresión a la que llamamos “v”).

e={{{1,2}},{{1,3}},{{2,4}},{{3,4}}};

v={{{0,0}},{{1,1}},{{1,-1}},{{2,0}}};

Llamamos “g” al grafo definido por “e” y “v”:

g=Graph[e,v]

Le decimos que dibuje el grafo “g”:

ShowLabeledGraph[g]

Le damos peso a las aristas del grafo por orden de definición en “e”:

g=SetEdgeWeights[g,{12,1,2,1}]

Edges[g,EdgeWeight]

Calculamos el camino más corto para ir del vértice 1 al vértice 4:

ShortestPath[g,1,4]