Разница между алгоритмом Divide and Conquer и динамическим программированием

В чем разница между алгоритмами Divide and Conquer и алгоритмами динамического программирования? Чем отличаются эти два термина? Я не понимаю разницы между ними. Пожалуйста, возьмите простой пример, чтобы объяснить разницу между ними и на каком основании они кажутся похожими....