Динамикалық бағдарламалау
Динамикалық бағдарламалау-бір-бірімен рекурренттік байланысты бірнеше бірдей тапсырысқа бөлу арқылы есепті шешу әдісі. Ең қарапайым мысал Фибоначчи саны болады - осы тізбектегі кейбір сандарды есептеу үшін, біз бірінші екіні, содан кейін төртіншісін екінші және үшінші, және тағы басқа негізде қосып, үшінші санды есептеу керек.
Динамикалық бағдарламалау тапсырмасының шешімі келесілерді қамтуы тиіс:
* Динамика элементтерінің бір-біріне тәуелділігі. Мұндай тәуелділік тікелей шартпен берілуі мүмкін (егер бұл тапсырма сандық ретпен болса, жиі болады). Әйтпесе, сіз белгілі бір сандық жолды (Фибоначчи бірдей сандар сияқты), қолмен алғашқы бірнеше мәндерді есептей аласыз.
Достарыңызбен бөлісу: |