CodeBlanks Logo Icon CodeBlanks

Maliyet tablosu

Şehirler arası maliyet tablosunu tanımlarsın.

Maliyet matrisi

Maliyet matrisi cost[i][j], i'den j'ye gitmenin maliyetini verir. Yönlü graf olduğu için cost[i][j] ile cost[j][i] farklı olabilir; bizim örneğimizde yalnızca j > i için değer tanımlıdır.

Bu yapı, dinamik programlama çözümünün temelidir. Matrisin köşegeni sıfırdır çünkü bir şehrin kendisine gitmesinin maliyeti yoktur.

Köşegen sıfır

Matrisin köşegeni her zaman sıfırdır: cost[i][i] = 0. Çünkü bir şehirden yine aynı şehre gitmenin maliyeti yoktur.

Bu özellik, maliyet tablosunun tutarlılığını sağlar ve dinamik programlama çözümünün doğru çalışmasının temelidir.

Uygulama init_cost fonksiyonu

init_cost() yaz. 4x4 maliyet matrisini döndür: köşegen 0, cost[0]=[0,10,25,60]. print(init_cost()) ile matrisi yazdır.

Başlangıç kodu

solution.py
def init_cities():
    # Şehir listesini döndür
    return ['A', 'B', 'C', 'D']
def init_cost():
    # Maliyet matrisini döndür

Örnek çözüm

solution.py
def init_cities():
    # Şehir listesini döndür
    return ['A', 'B', 'C', 'D']
def init_cost():
    # Maliyet matrisini döndür
    return [[0, 10, 25, 60], [0, 0, 20, 50], [0, 0, 0, 30], [0, 0, 0, 0]]
print(init_cost())

Beklenen çıktı

[[0, 10, 25, 60], [0, 0, 20, 50], [0, 0, 0, 30], [0, 0, 0, 0]]

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 DP bağıntısı

Soru
dp[i] = dp[j] + ____[j][i]
Cevap
dp[i] = dp[j] + cost[j][i]

Açıklama: cost doğru.

2 Köşegen neden sıfırdır?

  • Hatalı veri
  • Aynı şehre maliyet yok Doğru cevap
  • Sonsuz maliyet
  • Negatif maliyet

Açıklama: Aynı şehre gitmenin maliyeti yoktur.

3 Maliyet tablosu: kavramları eşleştir

Kavram Anlamı
cost[0][1] A→B
cost[1][2] B→C
cost[2][3] C→D
cost[0][3] A→D

İleri seviye bölümündeki tüm dersler