Wątek przeniesiony 2016-02-09 02:27 z Bazy danych przez somekind.

Wieże Hanoi - dlaczego programowanie dynamiczne, a nie metoda dziel i zwyciężaj?

0

Witam, zapewne większości znany jest algorytm rozwiązujący problem wieży Hanoi

procedure HANOI(n,X,Y,Z)
if n==0
	then X -> Y
	else HANOI(n-1,X,Z,Y)
	       X -> Y
	       HANOI(n-1,Z,Y,X)

Teraz moje pytanie - dlaczego jest to przykład programowania dynamicznego, a nie metody dziel i zwyciężaj? Przecież małe realizacje nie są przechowywane i później algorytm z nich nie korzysta w celu obniżenia złożoności obliczeniowej?

0

Bardzo przepraszam, miało być w dziale "Algorytmy i struktury danych". Proszę o przeniesienie.

0

Wiki może udzielić dobrej odpowiedzi na Twoje pytanie:
"Programowanie dynamiczne opiera się na podziale rozwiązywanego problemu na podproblemy względem kilku parametrów. W odróżnieniu od techniki dziel i zwyciężaj podproblemy w programowaniu dynamicznym nie są rozłączne, ale musi je cechować własność optymalnej podstruktury."

1 użytkowników online, w tym zalogowanych: 0, gości: 1