Class StateGraph
- java.lang.Object
-
- StateGraph
-
public class StateGraph extends java.lang.Object
This class represents the adjacency relationships between US states. (More generally, it could be used to represent any unweighted directed graph.)- Version:
- V2.0, 04/2021
- Author:
- Nathan Sprague
-
-
Constructor Summary
Constructors Constructor Description StateGraph(java.lang.String fileName)
Build a StateGraph from a file.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clearVisited()
Clear the visited flag from all states.State
getState(java.lang.String name)
Return the vertex with the indicated name.java.util.ArrayList<State>
getStates()
Return a list of all vertices in the graph.
-
-
-
Constructor Detail
-
StateGraph
public StateGraph(java.lang.String fileName) throws java.io.FileNotFoundException
Build a StateGraph from a file. The file format is one state per line followed by a comma separated list of neighboring states. For example, the first two lines might look like the following:Alaska Alabama,Mississippi,Tennessee,Georgia,Florida
No state may be listed as a neighbor if it does not begin some line in the file.- Parameters:
fileName
- The name of the file containing the graph specification.- Throws:
java.io.FileNotFoundException
- If the file cannot be opened for reading.
-
-
Method Detail
-
getStates
public java.util.ArrayList<State> getStates()
Return a list of all vertices in the graph.- Returns:
- The list of vertices.
-
getState
public State getState(java.lang.String name)
Return the vertex with the indicated name.- Parameters:
name
- The name of the desired State.- Returns:
- The requested State, or null if it does not exist.
-
clearVisited
public void clearVisited()
Clear the visited flag from all states.
-
-