BFS એક આલેખને સ્તર-દર-સ્તર શોધે છે, નોડના બધા પાડોશીઓને વધુ ગહરાણમાં જતા પહેલાં મુલાકાત લે છે. તે queue નો ઉપયોગ કરે છે અને બિન-વજનવાળા આલેખમાં સૌથી ટૂંકો પાથ (સૌથી ઓછી ધાર) શોધે છે.
આશયો
સ્ત્રોત પર શરૂ કરો, તેને enqueue કરો, પછી વારંવાર નોડને dequeue કરો, તેના અવિક્ષીત પાડોશીઓને મુલાકાત લો અને તેમને enqueue કરો. એક visited સમૂહ પુનઃમુલાકાતને રોકે છે.
ઉદાહરણ
collections deque
():
visited = {start}
queue = deque([start])
order = []
queue:
node = queue.popleft()
order.append(node)
nbr graph[node]:
nbr visited:
visited.add(nbr)
queue.append(nbr)
order
graph = {: [, ], : [], : [], : []}
bfs(graph, )
