CodeBlanks Logo Icon CodeBlanks

Şehir graph'ı

Ş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

solution.py
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

solution.py
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ı

Soru
graph[city].____(neighbor)
Cevap
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

Orta seviye bölümündeki tüm dersler