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

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

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

  • Rejestracja: dni
  • Ostatnio: dni
0

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

Kopiuj
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?

  • Rejestracja: dni
  • Ostatnio: dni
0

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

szweszwe
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 1694
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."

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.