Skip to content

Commit edaf771

Browse files
authored
Add files via upload
1 parent 6a372e4 commit edaf771

3 files changed

Lines changed: 128 additions & 0 deletions

File tree

Graph/BFS.java

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
package InfinityJune21.Graph;
2+
3+
import java.util.ArrayList;
4+
import java.util.Iterator;
5+
import java.util.LinkedList;
6+
7+
public class BFS {
8+
static ArrayList<ArrayList<Integer>> adjacencyList = new ArrayList<ArrayList<Integer>>();
9+
static void bfs(int source, int V) {
10+
boolean visited[] = new boolean[V];
11+
LinkedList<Integer> queue = new LinkedList<>();
12+
13+
visited[source] = true;
14+
queue.add(source);
15+
16+
while(queue.size() != 0) {
17+
//Deque
18+
source = queue.poll();
19+
System.out.print(source + " ");
20+
21+
ArrayList<Integer> neighbours = adjacencyList.get(source);
22+
for(Integer neighbour : neighbours) {
23+
if(!visited[neighbour]) {
24+
visited[neighbour] = true;
25+
queue.add(neighbour);
26+
}
27+
}
28+
}
29+
}
30+
31+
static void addEdge(ArrayList<ArrayList<Integer>> adjacencyList, int u, int v) {
32+
adjacencyList.get(u).add(v);
33+
adjacencyList.get(v).add(u);
34+
}
35+
36+
public static void main(String[] args) {
37+
int V = 5;
38+
39+
for(int i = 0; i < V; i++) {
40+
adjacencyList.add(new ArrayList<Integer>());
41+
}
42+
43+
addEdge(adjacencyList, 0, 1);
44+
addEdge(adjacencyList, 0, 4);
45+
addEdge(adjacencyList, 1, 2);
46+
addEdge(adjacencyList, 1, 3);
47+
addEdge(adjacencyList, 1, 4);
48+
addEdge(adjacencyList, 2, 3);
49+
addEdge(adjacencyList, 3, 4);
50+
51+
bfs(0, V);
52+
}
53+
}

Graph/DFS.java

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package InfinityJune21.Graph;
2+
3+
import java.util.ArrayList;
4+
5+
public class DFS {
6+
static int V = 5;
7+
static ArrayList<ArrayList<Integer>> adjacencyList = new ArrayList<ArrayList<Integer>>();
8+
9+
static void addEdge(ArrayList<ArrayList<Integer>> adjacencyList, int u, int v) {
10+
adjacencyList.get(u).add(v);
11+
adjacencyList.get(v).add(u);
12+
}
13+
14+
static void dfs(int source) {
15+
boolean visited[] = new boolean[V];
16+
dfsUtility(source, visited);
17+
}
18+
19+
static void dfsUtility(int source, boolean visited[]) {
20+
visited[source] = true;
21+
System.out.print(source + " ");
22+
23+
ArrayList<Integer> adjacent = adjacencyList.get(source);
24+
for(Integer adj : adjacent) {
25+
if(!visited[adj]) {
26+
dfsUtility(adj, visited);
27+
}
28+
}
29+
}
30+
31+
public static void main(String[] args) {
32+
for(int i = 0; i < V; i++) {
33+
adjacencyList.add(new ArrayList<Integer>());
34+
}
35+
36+
addEdge(adjacencyList, 0, 1);
37+
addEdge(adjacencyList, 0, 4);
38+
addEdge(adjacencyList, 1, 2);
39+
addEdge(adjacencyList, 1, 3);
40+
addEdge(adjacencyList, 1, 4);
41+
addEdge(adjacencyList, 2, 3);
42+
addEdge(adjacencyList, 3, 4);
43+
44+
dfs(0);
45+
}
46+
}

Graph/Insertion.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,25 @@
33
import java.util.ArrayList;
44

55
public class Insertion {
6+
static void printGraph(ArrayList<ArrayList<Integer>> adjacencyList) {
7+
System.out.println("List is:");
8+
System.out.println(adjacencyList);
9+
10+
for(int i = 0; i < adjacencyList.size(); i++) {
11+
System.out.println("List at vertex " + i + ": ");
12+
System.out.print(i);
13+
for(int j = 0; j < adjacencyList.get(i).size(); j++) {
14+
System.out.print("->" + adjacencyList.get(i).get(j));
15+
}
16+
System.out.println();
17+
}
18+
}
19+
20+
static void addEdge(ArrayList<ArrayList<Integer>> adjacencyList, int u, int v) {
21+
adjacencyList.get(u).add(v);
22+
adjacencyList.get(v).add(u);
23+
}
24+
625
public static void main(String[] args) {
726
int V = 5;
827

@@ -11,5 +30,15 @@ public static void main(String[] args) {
1130
for(int i = 0; i < V; i++) {
1231
adjacencyList.add(new ArrayList<Integer>());
1332
}
33+
34+
addEdge(adjacencyList, 0, 1);
35+
addEdge(adjacencyList, 0, 4);
36+
addEdge(adjacencyList, 1, 2);
37+
addEdge(adjacencyList, 1, 3);
38+
addEdge(adjacencyList, 1, 4);
39+
addEdge(adjacencyList, 2, 3);
40+
addEdge(adjacencyList, 3, 4);
41+
42+
printGraph(adjacencyList);
1443
}
1544
}

0 commit comments

Comments
 (0)