Budama
Coddy'nin Dinamik Programlama 101 kursunda ders 11 / 15.
Budama (Pruning), gereksiz hesaplamalardan kaçınarak bir dinamik programlama algoritması için gereken işlem sayısını azaltmak amacıyla kullanılan bir tekniktir. Bu, özyinelemeli ağacın, şu ana kadar bulunan en iyi çözümden daha iyi bir sonuca ulaşmayacak olan belirli dallarının elenmesiyle gerçekleştirilir. Budama, hem yukarıdan aşağıya (top-down) hem de aşağıdan yukarıya (bottom-up) dinamik programlama algoritmalarında kullanılabilir.
Görev
UzmanBu meydan okumada, size tam sayılardan oluşan bir matris ve bir hedef değer veriliyor. Göreviniz, hedef değer ile seçilen tam sayıların toplamı arasındaki mutlak fark minimize edilecek şekilde matrisin her satırından bir tam sayı seçmektir. Ardından, bu minimum mutlak farkın değerini döndürmelisiniz.
Kendin dene
def minimize_difference(mat, target):
# Buraya kod yazınDinamik Programlama 101 bölümündeki tüm dersler
3Dinamik programlama algoritmaları
En uzun ortak alt diziSırt çantası problemiPara üstü problemiDüzenleme mesafesi