Graph traversal and optimization framework.
Graph<Vertex> graph = Graphs.newEmptyGraph();
Vertex vertex = new Vertex();
graph.add(vertex);
Graph<Vertex> graph = Graphs.newEmptyGraph();
Vertex vertex = new Vertex();
graph.add(vertex);
graph.remove(vertex);
Graph<Vertex> graph = Graphs.newEmptyGraph();
Vertex one = new Vertex(123, 456, 0);
Vertex two = new Vertex(321, 654, 0);
double weight = 14.5;
graph.add(one);
graph.add(two);
Edge<Vertex> edge = graph.connect(one, two, weight);
Graph<Vertex> graph = Graphs.newEmptyGraph();
Vertex one = new Vertex(123, 456, 0);
Vertex two = new Vertex(321, 654, 0);
double weight = 14.5;
graph.add(one);
graph.add(two);
Edge<Vertex> edge = graph.connect(one, two, weight);
graph.disconnect(one, two);
// or
graph.disconnect(edge);
Graph<Vertex> graph = Graphs.newEmptyGraph();
Vertex one = new Vertex(123, 456, 0);
Vertex two = new Vertex(321, 654, 0);
double weight = 14.5;
graph.add(one);
graph.add(two);
graph.connectBidirectional(one, two, weight);
Graph<Vertex> graph = Graphs.newEmptyGraph();
Vertex one = new Vertex(123, 456, 0);
Vertex two = new Vertex(321, 654, 0);
double weight = 14.5;
graph.add(one);
graph.add(two);
graph.connectBidirectional(one, two, weight);
graph.disconnectBidirectional(one, two);