APCS/12 Graphs/03-05 AdjList/DFS_BFS_Driver.java
Rushil Umaretiya 3fc3554899 initial commit
2020-12-04 22:00:49 -05:00

65 lines
2.1 KiB
Java

//mlbillington@fcps.edu June 2014
//lesson: Graphs4: DFS_BFS
//uses AdjList
import java.util.*;
import java.io.*;
public class DFS_BFS_Driver
{
public static void main(String[] args)throws FileNotFoundException
{
System.out.println("Edge List Representation! ");
AdjList g = new AdjList();
g.addVertex("A"); //if it's not there, add it.
g.addVertex("B");
g.addEdge("A", "C"); // <-- warning! Be sure to add all the Vertices first,
// or else deal with it.
g.addVertex("C");
g.addVertex("D");
g.addEdge("B", "A");
g.addEdge("C", "C");
g.addEdge("C", "D");
g.addEdge("D", "C");
g.addEdge("D", "A");
System.out.println(g.toString()); //let's look at it first
System.out.println("\nDepth First Search");
for (String name : g.getVertexMap().keySet() )
System.out.println( name + " ---> " + g.depthFirstSearch(name) );
System.out.println("\nBreadth First Search");
for (String name : g.getVertexMap().keySet() )
System.out.println( name + " ---> " + g.breadthFirstSearch(name) );
//use the debugger to see the difference:
//System.out.println();
//System.out.println( "D" + " ---> " + g.depthFirstSearch("D") );
///System.out.println( "D" + " ---> " + g.breadthFirstSearch("D") );
/* Extension */
// System.out.println("\nDepth First Search (Recursive)");
// for (String name : g.getVertexMap().keySet() )
// System.out.println ( name + " ---> " + g.depthFirstRecur(name) );
}
}
/********************************
Edge List Representation!
A [C]
B [A]
C [C D]
D [C A]
Depth First Search
A ---> [A [C], C [C D], D [C A]]
B ---> [B [A], A [C], C [C D], D [C A]]
C ---> [C [C D], D [C A], A [C]]
D ---> [D [C A], A [C], C [C D]]
Breadth First Search
A ---> [A [C], C [C D], D [C A]]
B ---> [B [A], A [C], C [C D], D [C A]]
C ---> [C [C D], D [C A], A [C]]
D ---> [D [C A], C [C D], A [C]]
******************************/