Właśnie uruchomiłem Python i nie mam pojęcia, co to jest memoization i jak go używać. Czy mogę też podać uproszczony
Właśnie uruchomiłem Python i nie mam pojęcia, co to jest memoization i jak go używać. Czy mogę też podać uproszczony
Jaka jest różnica między zapamiętywaniem a programowaniem dynamicznym? Myślę, że programowanie dynamiczne jest podzbiorem zapamiętywania. Czy to jest
Mam zestaw liczb całkowitych. Chcę znaleźć najdłużej rosnącą podsekwencję tego zestawu za pomocą programowania
Oddolne podejście (do programowania dynamicznego) polega na pierwsze spojrzenie na „mniejsze” podproblemów, a następnie rozwiązać większych podproblemów użyciu rozwiązanie do mniejszych problemów. Top-down polega na rozwiązywaniu problemu w sposób „naturalny” i sprawdź, czy masz obliczył...
Rozważ następujące: @property def name(self): if not hasattr(self, '_name'): # expensive calculation self._name = 1 + 1 return self._name Jestem nowy, ale myślę, że buforowanie można rozłożyć na dekorator. Tylko że takiego nie znalazłem;) PS rzeczywiste obliczenia nie zależą od zmiennych...
Wszelkie wskazówki, jak skutecznie rozwiązać następującą funkcję w Haskellu dla dużych liczb (n > 108) f(n) = max(n, f(n/2) + f(n/3) + f(n/4)) Widziałem przykłady zapamiętywania w Haskellu w celu rozwiązania liczb Fibonacciego, które obejmowały (leniwie) obliczanie wszystkich liczb...
Chciałbym wiedzieć, jaka jest rzeczywista różnica między cachingi memoization. Jak widzę, oba obejmują unikanie powtarzających się wywołań funkcji w celu uzyskania danych poprzez ich przechowywanie . Jaka jest główna różnica między
Jaki mechanizm zapamiętuje tę funkcję Fibonacciego? fib = (map fib' [0..] !!) where fib' 1 = 1 fib' 2 = 1 fib' n = fib (n-2) + fib (n-1) A z drugiej strony, dlaczego ta wersja nie jest? fib n = (map fib' [0..] !! n) where fib' 1 = 1 fib' 2 = 1 fib' n = fib (n-2) + fib (n-1)...
Nie mogę zrozumieć, dlaczego m1 najwyraźniej jest zapamiętywany, podczas gdy m2 nie znajduje się w następującym: m1 = ((filter odd [1..]) !!) m2 n = ((filter odd [1..]) !! n) m1 10000000 zajmuje około 1,5 sekundy przy pierwszym połączeniu i ułamek tego czasu przy kolejnych (przypuszczalnie...