BaşlayınÜcretsiz Başlayın

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.

Bir grafın görsel temsili.

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ır
Kursu Görüntüle

Egzersiz talimatları

  • Aradığın değeri bulup bulmadığını kontrol et.
  • Aradığın değeri bulduysan True döndür.
  • for döngüsünün içinde, komşu tepenin ziyaret edilip edilmediğini kontrol et.
  • Aradığın değeri bulamadıysan False dö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'))
Kodu Düzenle ve Çalıştır