Package org.simplegraph
Interface WeightedGraph<V>
- All Known Subinterfaces:
DirectedWeightedGraph<V>
- All Known Implementing Classes:
DirectedWeightedDenseGraph,DirectedWeightedSparseGraph,WeightedDenseGraph,WeightedSparseGraph
public interface WeightedGraph<V>
Interface for weighted graphs.
-
Method Summary
Modifier and TypeMethodDescriptionbooleanAdd an edge between two vertices.booleanAdd a vertex to the graph.booleancontainsVertex(V vertex) Check the existence of a vertex in the graph.intGet the number of edges in the graph.intcountNeighbors(V vertex) Get the number of neighbors for a vertex.intGet the number of vertices in the graph.booleanexistsEdge(V v1, V v2) Check the existence of an edge that goes from the first vertex to the second.booleanexistsPath(V source, V destination) Does a path exists between source and destination.getMinimumDistance(V source, V destination) getNeighbors(V vertex) Get the neighbors of a vertexGet a path between a source and a destinationgetShortestPath(V source, V destination) Get all the vertices in the graphGet the edge between two verticesbooleanremoveEdge(V v1, V v2) Remove an edge that goes from the first vertex to the second.booleanremoveVertex(V vertex) Remove a vertex from the graph
-
Method Details
-
addEdge
Add an edge between two vertices. Add the two vertices in the graph if they don't exists- Parameters:
v1- first vertexv2- second vertex- Returns:
- true if the graph has been modified
-
getWeight
Get the edge between two vertices- Parameters:
v1- first vertexv2- second vertex- Returns:
- the edge between v1 and v2, if it exists, null otherwise
-
countEdges
int countEdges()Get the number of edges in the graph.- Returns:
- number of edges
-
getShortestPath
-
getMinimumDistance
-
getSpanningTree
WeightedGraph<V> getSpanningTree() -
getMinimumSpanningTree
WeightedGraph<V> getMinimumSpanningTree() -
addVertex
Add a vertex to the graph.- Parameters:
vertex- the vertex to add- Returns:
- true if the the graph has been modified
-
removeVertex
Remove a vertex from the graph- Parameters:
vertex- the vertex to remove- Returns:
- true if the graph has been modified
-
containsVertex
Check the existence of a vertex in the graph.- Parameters:
vertex- the vertex to check- Returns:
- true if the graph contains vertex
-
removeEdge
Remove an edge that goes from the first vertex to the second.- Parameters:
v1- first vertexv2- second vertex- Returns:
- true if the graph has been changed
-
existsEdge
Check the existence of an edge that goes from the first vertex to the second.- Parameters:
v1- first vertexv2- second vertex- Returns:
- true if an edge from v1 to v2 exists
-
getVertices
Get all the vertices in the graph- Returns:
- a list containing all the graph vertices
-
countVertices
int countVertices()Get the number of vertices in the graph.- Returns:
- number of vertices
-
getNeighbors
Get the neighbors of a vertex- Parameters:
vertex- the specified vertex- Returns:
- the list of vertices that are neighbors of vertex null if the vertex is not contained in the graph
-
countNeighbors
Get the number of neighbors for a vertex.- Parameters:
vertex- the spefied vertex- Returns:
- number of neighbors, -1 if vertex does not exists
-
getPath
Get a path between a source and a destination- Parameters:
source- source vertexdestination- destination vertex- Returns:
- a list containing the vertices that compose the path, in order; an empty LinkedList if there is no path, null if the source and the destination are equals or are not contained in the graph
-
existsPath
Does a path exists between source and destination.- Parameters:
source- source vertexdestination- destination vertex- Returns:
- true if a path exists
-