W Cormen et al .'s Wprowadzenie do algorytmów , sekcja 15.3 Elementy programowania dynamicznego wyjaśniają zapamiętywanie w następujący sposób:
Zapamiętany algorytm rekurencyjny zachowuje pozycję w tabeli dla rozwiązania każdego podproblemu. Każdy wpis w tabeli początkowo zawiera specjalną wartość wskazującą, że wpis musi jeszcze zostać wypełniony. Gdy podproblem zostanie napotkany po rozwinięciu się algorytmu rekurencyjnego, jego rozwiązanie jest obliczane, a następnie zapisywane w tabeli. Za każdym razem, gdy napotykamy ten podproblem, po prostu wyszukujemy wartość przechowywaną w tabeli i zwracamy ją.
I dodaje, w przypisie:
Podejście to zakłada, że znamy zestaw wszystkich możliwych parametrów podproblemów i że ustaliliśmy związek między pozycjami tabeli i podproblemami. Innym, bardziej ogólnym podejściem jest zapamiętywanie za pomocą mieszania z parametrami podproblemu jako kluczami.
Czy są jakieś dobrze znane problemy z DP, które wymagają (lub ułatwiają) zapisywanie zapamiętanych wartości w słowniku zamiast w (wielowymiarowej) tablicy?
Tło: jeśli jest to przydatne, powodem tego pytania jest to, że próbuję uzasadnić pojęcie (samowyważących) drzew wyszukiwania binarnego osobom, które właśnie widziały programowanie dynamiczne.