--- id: bfs title: "Breadth First Search" author: Benjamin Qi prerequisites: - Silver - Depth First Search description: "Traversing a graph in a way such that vertices closer to the starting vertex are processed first." frequency: 2 --- import { Problem } from "../models"; export const metadata = { problems: { sample: [ new Problem("CSES", "Message Route", "1667", "Easy", false, ["BFS"]), ], general: [ new Problem("CSES", "Monsters", "1194", "Easy", false, ["BFS"]), new Problem("Gold", "Cow Navigation", "695", "Easy", false, ["BFS"], "lots of casework"), new Problem("CSA", "BFS-DFS", "bfs-dfs", "Normal", false, ["BFS", "DFS"]), new Problem("Gold", "Lasers", "671", "Normal", false, ["BFS"]), new Problem("Gold", "Dream", "575", "Hard", false, ["BFS"]), ], } }; No silver problem should require BFS rather than DFS, but it's still good to know at this level. ## Sample ## Tutorial - CPH 12.2 - [PAPS 12.1](https://www.csc.kth.se/~jsannemo/slask/main.pdf) - [CSAcademy BFS](https://csacademy.com/lesson/breadth_first_search) - [cp-algo BFS](https://cp-algorithms.com/graph/breadth-first-search.html) - [cp-algo 0/1 BFS](https://cp-algorithms.com/graph/01_bfs.html) - [KhanAcademy BFS](https://www.khanacademy.org/computing/computer-science/algorithms/breadth-first-search/a/breadth-first-search-and-its-uses) ## Problems