Şehir graph'ı
- Algoritmalar kursu
- Orta seviye
- Ders 74/80
- 4 dk
Şehirleri komşuluk listesiyle tanımlarsın.
Şehir graph'ı
Şehirleri komşuluk listesiyle tanımladık. Şimdi bir şehre yeni komşu ekleyen fonksiyon yazacağız.
Bu, graph'ı dinamik olarak büyütmemizi sağlar; yeni bağlantılar eklenebilir.
Komşu ekleme, listede append ile yapılır; basit ama önemli bir işlemdir.
Graph modifikasyonu
Bir şehre komşu eklemek, o şehrin listesine append yapmaktır. Graph nesnesi yerinde değişir.
Bu, grafın paylaşılmasını kolaylaştırır; referans üzerinden güncellenir.
Dikkat: yönsüz graph'ta her iki şehrin de listesine eklemek gerekir; biz burada tek tarafı ekleyeceğiz.
Uygulama Komşu ekle
add_neighbor(graph, city, neighbor) yaz. Şehrin listesine komşuyu ekle, graph'ı döndür. print(add_neighbor(build_cities(), "A", "E")) ile {'A': ['B', 'C', 'E'], ...} yazdır.
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Ö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
print(add_neighbor(build_cities(), "A", "E"))Beklenen çıktı
{'A': ['B', 'C', 'E'], '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 Komşuluk listesine yeni komşu nasıl eklenir?
- append ile Doğru cevap
- pop ile
- remove ile
- sort ile
Açıklama: append ile.
2 Append çağrısı
graph[city].____(neighbor)
graph[city].append(neighbor)
Açıklama: append doğru.
3 Şehir graph'ı: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
append |
Sona ekle |
graph |
Şehirler |
neighbor |
Komşu |
in-place |
Yerinde |