Tablo kurma
- Algoritmalar kursu
- İleri seviye
- Ders 6/56
- 4 dk
Bir dizi tabloyu sırayla doldurmayı öğrenirsin.
Tablo kurma
Tablo, alt problem sonuçlarını sırayla tutar. Her hücre, önceki hücrelerden hesaplanır.
Tablonun boyutu, alt problem sayısına bağlıdır; tek boyutlu ya da çok boyutlu olabilir.
Tablo yapısı, probleme göre belirlenir; fibonacci için tek boyut yeterlidir.
Sıralı doldurma
Tabloyu sırayla doldurmak şarttır; önce küçük indeksler, sonra büyük indeksler hesaplanır.
Bu, her hücrenin bağımlılıklarının hazır olmasını sağlar; tutarlı sonuç verir.
Yanlış sıra, hatalı sonuç üretir; bu yüzden tablo doldurma sırası kritiktir.
Uygulama Tribonacci tabulation
trib_tab(n) yaz. Tribonacci: T(n) = T(n-1) + T(n-2) + T(n-3), T(0)=0, T(1)=0, T(2)=1. print(trib_tab(6)) ile 6 yazdır.
Başlangıç kodu
def trib_tab(n):
# Tribonacci tabulationÖrnek çözüm
def trib_tab(n):
# Tribonacci tabulation
if n < 2:
return 0
if n == 2:
return 1
dp = [0] * (n + 1)
dp[2] = 1
for i in range(3, n + 1):
dp[i] = dp[i - 1] + dp[i - 2] + dp[i - 3]
return dp[n]
print(trib_tab(6))Beklenen çıktı
6
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Döngü başlangıcı
for i in range(____, n + 1):
for i in range(2, n + 1):
Açıklama: 2 doğru.
2 Tablo kurma: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
table |
Tablo |
cell |
Hücre |
order |
Sıra |
dependency |
Bağımlılık |
3 Tablo neden sırayla doldurulur?
- Bağımlılıklar hazır olur Doğru cevap
- Daha az bellek
- Daha hızlı olur
- Recursion gerekmez
Açıklama: Bağımlılıklar hazır olur.