문제를 해결하기 위해서 그 전 단계 문제의 답이 필요하고 다시 그 전 단계 문제의 답이 필요하여 [[Recursion]]으로 반복되는 경우, 가장 기본적인 문제의 답부터 BottomUp 방식으로 계산해 옴으로써 전체 문제를 해결하는 [[Algorithm]]. DivideAndConquer와 달리 중복된 계산을 하지 않으며, DivideAndConquer처럼 독립적인 부분문제로 나누어 접근하지 않고 종속적인 문제들의 일련을 순서에 맞게(순행 혹은 역행) 해결해 나간다. -- From NoSmoke:DynamicProgramming Bioinformatics 에 사용된 사례. * PairwiseAlignment * ViterbiAlgorithm 관련정보 * [[http://jakevdp.github.com/blog/2012/09/12/dynamic-programming-in-python/|Dynamic programming in python: Bayesian Blocks]]: BayesianBlocks using [[Python]]