CodeBlanks Logo Icon CodeBlanks

DP tablosu

Matris zinciri için DP tablosu kurmayı öğrenirsin.

DP tablosu

İki boyutlu m[i][j] tablosu, i'den j'ye matris çarpımının en düşük maliyetini tutar. Köşegen m[i][i] = 0 çünkü tek matrisin çarpımı yoktur.

Tablo, alt problemleri çözüp sonuçları üst problemlerde kullanır. Bu, dinamik programlamanın temelidir.

Tablo boyutu

n matris için tablo n × n boyutundadır. Başlangıçta tüm değerler sıfır olur; yalnızca köşegen değil tüm hücreler sıfırlanır.

Daha sonra alt problemler çözülerek tablo doldurulur. Önce kısa zincirler, sonra uzun zincirler hesaplanır.

Uygulama init_table fonksiyonu

init_table(n) yaz. n×n sıfır matrisini döndür. print(init_table(4)) ile yazdır.

Başlangıç kodu

solution.py
def init_table(n):
    # n×n sıfır matrisini döndür

Örnek çözüm

solution.py
def init_table(n):
    # n×n sıfır matrisini döndür
    return [[0] * n for _ in range(n)]
print(init_table(4))

Beklenen çıktı

[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

Soru ve cevaplar

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

1 Köşegen değeri

Soru
m[i][i] = ____
Cevap
m[i][i] = 0

Açıklama: 0 doğru.

2 4 matris için tablo boyutu nedir?

  • 3×3
  • 2×2 Doğru cevap
  • 4×4
  • 5×5

Açıklama: 3 matris için 4 boyut olduğundan tablo 4×4'tür.

3 DP tablosu: kavramları eşleştir

Kavram Anlamı
m[i][i] 0
m[1][2] 6000
m[2][3] 24000
m[1][3] 18000

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