Skip to content

Commit f428d3a

Browse files
Added new graph
1 parent cc2d414 commit f428d3a

File tree

1 file changed

+8
-14
lines changed

1 file changed

+8
-14
lines changed

src/main/java/com/thealgorithms/graph/stronglyConnectedComponent_Optimized.java renamed to src/main/java/com/thealgorithms/graph/StronglyConnectedComponentOptimized.java

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import java.util.Arrays;
55
import java.util.HashMap;
66

7-
public class stronglyConnectedComponent_Optimized {
7+
public class StronglyConnectedComponentOptimized {
88

99
public void btrack(HashMap<Integer, List<Integer>> adjList, int[] visited, Stack<Integer> dfsCallsNodes, int currentNode) {
1010
visited[currentNode] = 1;
@@ -19,7 +19,7 @@ public void btrack(HashMap<Integer, List<Integer>> adjList, int[] visited, Stack
1919

2020
public void btrack2(HashMap<Integer, List<Integer>> adjRevList, int[] visited, int currentNode, List<Integer> newScc) {
2121
visited[currentNode] = 1;
22-
newScc.add(currentNode);
22+
newScc.add(currentNode);
2323
for (int i = 0; i < adjRevList.get(currentNode).size(); i++) {
2424
int neighbor = adjRevList.get(currentNode).get(i);
2525
if (visited[neighbor] == -1) {
@@ -28,33 +28,28 @@ public void btrack2(HashMap<Integer, List<Integer>> adjRevList, int[] visited, i
2828
}
2929
}
3030

31-
public int getOutput(HashMap<Integer, List<Integer>> adjList, int N) {
32-
int[] visited = new int[N];
31+
public int getOutput(HashMap<Integer, List<Integer>> adjList, int n) {
32+
int[] visited = new int[n];
3333
Arrays.fill(visited, -1);
3434
Stack<Integer> dfsCallsNodes = new Stack<>();
3535

36-
37-
for (int i = 0; i < N; i++) {
36+
for (int i = 0; i < n; i++) {
3837
if (visited[i] == -1) {
3938
btrack(adjList, visited, dfsCallsNodes, i);
4039
}
4140
}
4241

43-
44-
45-
4642
HashMap<Integer, List<Integer>> adjRevList = new HashMap<>();
47-
for (int i = 0; i < N; i++) {
43+
for (int i = 0; i < n; i++) {
4844
adjRevList.put(i, new ArrayList<>());
4945
}
5046

51-
for (int i = 0; i < N; i++) {
47+
for (int i = 0; i < n; i++) {
5248
for (int neighbor : adjList.get(i)) {
53-
adjRevList.get(neighbor).add(i);
49+
adjRevList.get(neighbor).add(i);
5450
}
5551
}
5652

57-
5853
Arrays.fill(visited, -1);
5954
int stronglyConnectedComponents = 0;
6055
List<List<Integer>> sccs = new ArrayList<>();
@@ -69,7 +64,6 @@ public int getOutput(HashMap<Integer, List<Integer>> adjList, int N) {
6964
}
7065
}
7166

72-
7367
return stronglyConnectedComponents;
7468
}
7569

0 commit comments

Comments
 (0)