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, kursun bir parçasıdır

Python'da Veri Yapıları ve Algoritmalar

Kursa Göz Atın

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ı 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'))
Kodu Düzenle ve Çalıştır