From 0fcc99dfeaba253bbf0fbfcde3abba56bffebeab Mon Sep 17 00:00:00 2001 From: Evan Ferrao Date: Thu, 1 Jan 2026 12:49:27 +0530 Subject: [PATCH] graphs: add bfs --- Graphs/BFS.java | 53 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 Graphs/BFS.java diff --git a/Graphs/BFS.java b/Graphs/BFS.java new file mode 100644 index 0000000..42664cd --- /dev/null +++ b/Graphs/BFS.java @@ -0,0 +1,53 @@ + +import java.util.*; +import java.io.*; + +class BFS { + + public static ArrayList bfs(int V, ArrayList> adj){ + boolean visited[] = new boolean[V]; + ArrayList bfs = new ArrayList<>(); + Queue q = new LinkedList<>(); + + q.add(0); + visited[0]=true; + + while(!q.isEmpty()){ + Integer node = q.poll(); + bfs.add(node); + + for (Integer it : adj.get(node)){ + if (!visited[it]){ + visited[it]=true; + q.add(it); + } + } + } + + return bfs; + } + + public static void main(String[] args) { + + ArrayList> adj = new ArrayList<>(); + for (int i=0; i<5; i++){ + adj.add(new ArrayList<>()); + } + + adj.get(0).add(1); + adj.get(1).add(0); + adj.get(0).add(4); + adj.get(4).add(0); + adj.get(1).add(2); + adj.get(2).add(1); + adj.get(1).add(3); + adj.get(3).add(1); + + ArrayList ans = bfs(5, adj); + + for (int i=0; i