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, kursun bir parçasıdır
Python'da Veri Yapıları ve Algoritmalar
Egzersiz 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ı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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'))