BFS kullanarak bir graf tepesini bulma
Bu egzersizde, BFS algoritmasını bir graf içinde verilen bir tepeyi arayacak şekilde değiştireceksin.
Kodunu test etmene yardımcı olmak için aşağıdaki graf bir sözlük kullanılarak yüklendi.

graph = {
'4' : ['6','7'],
'6' : ['4', '7', '8'],
'7' : ['4', '6', '9'],
'8' : ['6', '9'],
'9' : ['7', '8']
}
Bu egzersiz
Python'da Veri Yapıları ve Algoritmalar
kursunun bir parçasıdırEgzersiz talimatları
- Aradığın değeri bulup bulmadığını kontrol et.
- Aradığın değeri bulduysan
Truedöndür. fordöngüsünün içinde, komşu tepenin ziyaret edilip edilmediğini kontrol et.- Aradığın değeri bulamadıysan
Falsedöndür.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
import queue
def bfs(graph, initial_vertex, search_value):
visited_vertices = []
bfs_queue = queue.SimpleQueue()
visited_vertices.append(initial_vertex)
bfs_queue.put(initial_vertex)
while not bfs_queue.empty():
current_vertex = bfs_queue.get()
# Check if you found the search value
if ____:
# Return True if you find the search value
____
for adjacent_vertex in graph[current_vertex]:
# Check if the adjacent vertex has been visited
if adjacent_vertex not in ____:
visited_vertices.append(adjacent_vertex)
bfs_queue.put(adjacent_vertex)
# Return False if you didn't find the search value
____
print(bfs(graph, '4', '8'))