Proje: Genel bakış
- Algoritmalar kursu
- Orta seviye
- Ders 73/80
- 4 dk
Şehir haritasında en kısa bağlantıyı bulan mini uygulama planlarsın.
Proje: Genel bakış
Bu projede bir şehir haritasında BFS ile ulaşılabilir şehirleri bulan mini uygulama kuracaksın.
Önce şehir graph'ını tanımla, sonra komşu ekle, sonra BFS ile ulaşılabilirliği hesapla ve yazdır.
Her ders bir code adımıyla bir parça ekler; başlangıç kodu, önceki dersin çözümünü içerir.
Şehir graph'ı
Şehirleri bir komşuluk listesi (adjacency list) ile tanımlayacağız: her şehir komşularını bir listede tutar.
Bu yapı, BFS ve DFS için uygundur; komşulara hızlı erişim sağlar.
Şehir graph'ımız: A—B, A—C, B—D, C—D bağlantılarıyla dört şehri birleştirir.
Uygulama Şehir graph'ı tanımla
build_cities() yaz. Şehir graph'ını komşuluk listesiyle döndür. print(build_cities()) ile {'A': ['B', 'C'], 'B': ['A', 'D'], 'C': ['A', 'D'], 'D': ['B', 'C']} yazdır.
Başlangıç kodu
def build_cities():
# Şehir graph'ını tanımlaÖrnek çözüm
def build_cities():
# Şehir graph'ını tanımla
return {"A": ["B", "C"], "B": ["A", "D"], "C": ["A", "D"], "D": ["B", "C"]}
print(build_cities())Beklenen çıktı
{'A': ['B', 'C'], 'B': ['A', 'D'], 'C': ['A', 'D'], 'D': ['B', 'C']}
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Proje: Genel bakış: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
graph |
Şehir haritası |
BFS |
Ulaşılabilirlik |
city |
Düğüm |
neighbor |
Komşu |
2 Bu projede hangi algoritma kullanılacak?
- DFS
- BFS Doğru cevap
- Dijkstra
- Greedy
Açıklama: BFS.
3 Şehir tanımı
return {"A": ____}
return {"A": ["B", "C"]}
Açıklama: ["B", "C"] doğru.