Sonuç yazdır
- Algoritmalar kursu
- Orta seviye
- Ders 76/80
- 4 dk
Ulaşılabilir şehirleri yazdırırsın.
Sonuç yazdır
Son adımda BFS sonuçlarını ekrana yazdıracağız. Tüm parçaları birleştir: build_cities, add_neighbor ve bfs_reachable.
Bu ders, önceki tüm fonksiyonları kullanır; başlangıç kodu zinciri tamamlanır.
Çıktı, sıralı ulaşılabilir şehirler listesidir; deterministic ve okunaklı.
Proje tamam
Bu mini proje ile şehir graph'ı, komşu ekleme ve BFS ile ulaşılabilirlik hesabını birleştirdin.
Gerçek uygulamalarda benzer yapılar harita, rota ve ağ analizinde kullanılır.
BFS, ulaşılabilirlik için temel bir araçtır; bu proje onun pratik kullanımını gösterir.
Uygulama Sonuç yazdır
print_reachable(graph, start) yaz. bfs_reachable çağırıp sonucu print() ile yazdır. print_reachable(build_cities(), "A") çıktısı: ['A', 'B', 'C', 'D'].
Başlangıç kodu
def build_cities():
# Şehir graph'ını tanımla
return {"A": ["B", "C"], "B": ["A", "D"], "C": ["A", "D"], "D": ["B", "C"]}
def add_neighbor(graph, city, neighbor):
# Komşu ekle
graph[city].append(neighbor)
return graph
def bfs_reachable(graph, start):
# Ulaşılabilir şehirler
visited = set()
queue = [start]
while queue:
node = queue.pop(0)
if node not in visited:
visited.add(node)
for nb in graph[node]:
if nb not in visited:
queue.append(nb)
return sorted(visited)
def print_reachable(graph, start):
# Sonuç yazdırÖrnek çözüm
def build_cities():
# Şehir graph'ını tanımla
return {"A": ["B", "C"], "B": ["A", "D"], "C": ["A", "D"], "D": ["B", "C"]}
def add_neighbor(graph, city, neighbor):
# Komşu ekle
graph[city].append(neighbor)
return graph
def bfs_reachable(graph, start):
# Ulaşılabilir şehirler
visited = set()
queue = [start]
while queue:
node = queue.pop(0)
if node not in visited:
visited.add(node)
for nb in graph[node]:
if nb not in visited:
queue.append(nb)
return sorted(visited)
def print_reachable(graph, start):
# Sonuç yazdır
reachable = bfs_reachable(graph, start)
print(reachable)
print_reachable(build_cities(), "A")Beklenen çıktı
['A', 'B', 'C', 'D']
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Sonuç yazdır: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
print |
Yazdır |
reachable |
Ulaşılabilir |
sorted |
Sıralı |
BFS |
Keşif |
2 Bu projede hangi yapı kullanılmadı?
- Visited set
- Graph
- Queue
- Heap Doğru cevap
Açıklama: Heap.
3 Yazdırma
print(____)
print(reachable)
Açıklama: reachable doğru.