Algorytmy. Ćwiczenia
34,90 zł
Projektowanie systemów rozproszonych. Wzorce i paradygmaty dla skalowalnych, niezawodnych usług
−30%27,93 zł
PHP 7. Algorytmy i struktury danych
59,00 zł
Java. Kompendium programisty. Wydanie X
179,00 zł
Opus magnum C++11. Programowanie w języku C++ (komplet)
149,00 zł
Uczenie maszynowe z użyciem Scikit-Learn i TensorFlow
89,00 zł

Tutorial: Problem wydawania reszty, programowanie dynamiczne

REKLAMA
Aby korzystać z tej strony musisz mieć włączoną obsługę JavaScript.
Ocena: +1 Tak Nie
Liczba głosów: 1.

Tutorial pokazujący krok po kroku, jak rozwiązać problem wydawania reszty za pomocą algorytmu wykorzystującego programowanie dynamiczne. Ten samouczek jest powiązany tematycznie z artykułem „Problem wydawania reszty (programowanie dynamiczne)”.

Dodano: 27 lutego 2017 17:11.

Zobacz też wszystkie nasze tutoriale!
REKLAMA

Zobacz też

Algorytm Johnsona – algorytm służący do wyznaczania najkrótszych ścieżek pomiędzy każdą parą wierzchołków w grafie. Algorytm wykorzystuje algorytm Dijkstry i algorytm Bellmana-Forda. Dopuszcza krawędzie o ujemnych wagach, o ile nie tworzą ujemnych cykli.

Złożoność czasowa algorytmu (jeśli algorytm Dijkstry zostanie zaimplementowany z wykorzystaniem kopca Fibonacciego) to O(n2log n + en), gdzie n jest liczbą wierzchołków, a e jest liczbą krawędzi. Dla grafów rzadkich (ze stosunkowo małą liczbą krawędzi) jest to złożoność lepsza, niż złożoność algorytmu Floyda-Warshalla.

→ Czytaj całość

Dziel i zwyciężaj (ang. divide and conquer) – technika projektowania algorytmów polegająca na podejściu rekurencyjnym. W technice tej problem dzielony jest na mniejsze podproblemy, te podproblemy na jeszcze mniejsze podproblemy, aż dojdzie się do przypadków trywialnych (np. posortowanie jednoelementowej tablicy, obliczenie silni z 1).

Jeśli rozpatrywany problem wymaga podzielenia na podproblemy, jest on określany jako przypadek rekurencyjny. Jeśli mamy do czynienia z przypadkiem trywialnym, jest to przypadek bazowy. Tworząc algorytm wykorzystujący metodę dziel i zwyciężaj musimy ustalić:

  • Jak rozwiązać przypadek bazowy (trywialny).
  • Jak wyznaczyć rozwiązanie problemu, mając dostępne rozwiązania podproblemów.

Przykładem algorytmu opartego na tej metodzie jest sortowanie przez scalanie.

→ Czytaj całość

Sortowanie przez wstawianie (ang. insertion sort) – prosty algorytm sortowania polegający na wstawianiu kolejnych elementów ciągu we właściwe miejsca. Złożoności czasowa algorytmu wynosi O(n2). Jest to algorytm realizujący metodę przyrostową.

→ Czytaj całość
Polityka prywatnościKontakt