BFS किसी graph को level दर level explore करता है, और किसी node के सभी neighbors को visit करने के बाद ही गहराई में जाता है। यह एक queue का उपयोग करता है और unweighted graphs में shortest path (सबसे कम edges) खोजता है।
मूल विचार
एक source से शुरू करें, उसे enqueue करें, फिर बार-बार किसी node को dequeue करें, उसके बिना-visited neighbors को visit करें, और उन्हें enqueue करें। एक set दोबारा visit करने से रोकता है।
