From 943b151fe4cbbeb293c13d4f1deb64549ab38db6 Mon Sep 17 00:00:00 2001 From: "yuliya.sokh@gmail.com" <21014151y> Date: Tue, 25 Jul 2023 22:24:04 +0200 Subject: [PATCH] Adding DFS in java --- java/searching/DFS.java | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 java/searching/DFS.java diff --git a/java/searching/DFS.java b/java/searching/DFS.java new file mode 100644 index 000000000..672f77982 --- /dev/null +++ b/java/searching/DFS.java @@ -0,0 +1,40 @@ +import java.util.*; + +class DFS { + private final LinkedList[] adjLists; + private final boolean[] visited; + + DFS(int vertices) { + adjLists = new LinkedList[vertices]; + visited = new boolean[vertices]; + for (int i = 0; i < vertices; i++) + adjLists[i] = new LinkedList<>(); + } + + void addEdge(int src, int dest) { + adjLists[src].add(dest); + } + + void dfsAlgorithm(int vertex) { + visited[vertex] = true; + System.out.print(vertex + " "); + + for (int adj : adjLists[vertex]) { + if (!visited[adj]) + dfsAlgorithm(adj); + } + } + + public static void main(String args[]) { + DFS g = new DFS(4); + + g.addEdge(0, 1); + g.addEdge(0, 2); + g.addEdge(1, 2); + g.addEdge(2, 3); + + System.out.println("Following is Depth First Traversal"); + + g.dfsAlgorithm(2); + } +}