-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathDriverAG.java
More file actions
127 lines (79 loc) · 3.13 KB
/
DriverAG.java
File metadata and controls
127 lines (79 loc) · 3.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
public class DriverAG {
public static void printTraversalLabels_forMatrix(MatrixGraph matrixGraph, LinkedQueue traversal) {
for (int i = 0; i < matrixGraph.getSize(); i++) {
int vertex = traversal.dequeue();
char label = matrixGraph.getLabel(vertex);
System.out.print(label + " ");
}
System.out.println();
}
public static void printTraversalLabels_forList(ListGraph listGraph, LinkedQueue traversal) {
for (int i = 0; i < listGraph.getSize(); i++) {
int vertex = traversal.dequeue();
char label = listGraph.getLabel(vertex);
System.out.print(label + " ");
}
System.out.println();
}
public static void main(String []args) {
// Test code for ListGraph
ListGraph graphList = new ListGraph(9);
graphList.setLabel(0,'A');
graphList.setLabel(1,'B');
graphList.setLabel(2,'C');
graphList.setLabel(3,'D');
graphList.setLabel(4,'E');
graphList.setLabel(5,'F');
graphList.setLabel(6,'G');
graphList.setLabel(7,'H');
graphList.setLabel(8,'I');
graphList.addEdge(0,3);
graphList.addEdge(0,1);
graphList.addEdge(0,4);
graphList.addEdge(1,4);
graphList.addEdge(2,1);
graphList.addEdge(3,6);
graphList.addEdge(4,7);
graphList.addEdge(4,5);
graphList.addEdge(5,2);
graphList.addEdge(5,7);
graphList.addEdge(6,7);
graphList.addEdge(7,8);
graphList.addEdge(8,5);
//graphList.printGraph();
LinkedQueue traversalBreadth1 = graphList.getBreadthFirstTraversal(0);
printTraversalLabels_forList(graphList, traversalBreadth1);
LinkedQueue traversalDepth1 = graphList.getDepthFirstTraversal(0);
printTraversalLabels_forList(graphList, traversalDepth1);
System.out.println();
// Test code for MatrixGraph
MatrixGraph matrixGraph = new MatrixGraph(9);
matrixGraph.setLabel(0,'A');
matrixGraph.setLabel(1,'B');
matrixGraph.setLabel(2,'C');
matrixGraph.setLabel(3,'D');
matrixGraph.setLabel(4,'E');
matrixGraph.setLabel(5,'F');
matrixGraph.setLabel(6,'G');
matrixGraph.setLabel(7,'H');
matrixGraph.setLabel(8,'I');
matrixGraph.addEdge(0,3);
matrixGraph.addEdge(0,1);
matrixGraph.addEdge(0,4);
matrixGraph.addEdge(1,4);
matrixGraph.addEdge(2,1);
matrixGraph.addEdge(3,6);
matrixGraph.addEdge(4,7);
matrixGraph.addEdge(4,5);
matrixGraph.addEdge(5,2);
matrixGraph.addEdge(5,7);
matrixGraph.addEdge(6,7);
matrixGraph.addEdge(7,8);
matrixGraph.addEdge(8,5);
//matrixGraph.printGraph();
LinkedQueue traversalBreadth2 = matrixGraph.getBreadthFirstTraversal(0);
printTraversalLabels_forMatrix(matrixGraph, traversalBreadth2);
LinkedQueue traversalDepth2 = matrixGraph.getDepthFirstTraversal(0);
printTraversalLabels_forMatrix(matrixGraph, traversalDepth2);
}
}