Constructor and Description |
---|
skeleton_SpyGraph()
Initializes an empty list of GraphNode objects
|
Modifier and Type | Method and Description |
---|---|
void |
addEdge(java.lang.String v1name,
java.lang.String v2name,
int cost)
Adds v2 as a neighbor of v1 and adds v1 as a neighbor of v2.
|
void |
addGraphNode(java.lang.String name)
Add a vertex with this label to the list of vertexes.
|
java.util.List<Neighbor> |
BFS(java.lang.String start,
java.lang.String end)
Return Breadth First Search list of nodes on path
from one Node to another.
|
java.util.List<Neighbor> |
DFS(java.lang.String start,
java.lang.String end)
Return Depth First Search list of nodes on path
from one Node to another.
|
java.util.List<Neighbor> |
Dijkstra(java.lang.String start,
java.lang.String end)
OPTIONAL: Students are not required to implement Dijkstra's ALGORITHM
Return Dijkstra's shortest path list of nodes on path
from one Node to another.
|
GraphNode |
getNodeFromName(java.lang.String name) |
GraphNode |
getRandomNode()
DO NOT EDIT THIS METHOD
|
java.util.Iterator<GraphNode> |
iterator()
Return an iterator through all nodes in the SpyGraph
|
public skeleton_SpyGraph()
public void addGraphNode(java.lang.String name)
name
- The name of the new GraphNode to create and add to the list.public void addEdge(java.lang.String v1name, java.lang.String v2name, int cost) throws java.lang.IllegalArgumentException
v1name
- The name of the first vertex of this edgev2name
- The name of second vertex of this edgecost
- The cost of traveling to this edgejava.lang.IllegalArgumentException
- if the names are the samepublic java.util.Iterator<GraphNode> iterator()
iterator
in interface java.lang.Iterable<GraphNode>
public java.util.List<Neighbor> BFS(java.lang.String start, java.lang.String end)
start
- First node in BFS traversalend
- Last node (match node) in BFS traversalpublic GraphNode getNodeFromName(java.lang.String name)
name
- Name corresponding to node to be returnedpublic java.util.List<Neighbor> DFS(java.lang.String start, java.lang.String end)
start
- First node in DFS traversalend
- Last node (match node) in DFS traversalpublic java.util.List<Neighbor> Dijkstra(java.lang.String start, java.lang.String end)
start
- First node in pathend
- Last node (match node) in pathpublic GraphNode getRandomNode()