Klasyfikacja Algorytmów
Istnieje wiele różnych sposobów klasyfikacji algorytmów. Możemy je klasyfikować ze względu na:
- metodę konstrukcji algorytmu
- kolejność wykonywania działań
- sposób wykonywania operacji
- obszar zastosowań
Klasyfikacja ze względu na sposób konstruowania:
- dziel i zwyciężaj
- metoda zachłanna
- poszukiwanie i wyliczanie
- programowanie dynamiczne
- heurystyka
Dziel I Zwyciężaj
Problem, który należy rozwiązać, jest dzielony na kilka mniejszych problemów, a te znowu są dzielone na mniejsze problemy aż do uzyskania problemów łatwych do rozwiązania. Algorytmy z tej grupy należą do najskuteczniejszych metod rozwiązywania problemów.
Metoda Zachłanna
Nie jest tutaj przeprowadzana dokładna analiza problemu, tylko wybierane jest rozwiązanie, które w danym momencie wydaje się najkorzystniejsze.
Poszukiwanie I Wyliczanie
W tej metodzie przeszukiwany jest zbiór danych aż do momentu znalezienia rozwiązania.
Programowanie Dynamiczne
Ta metoda jest podobna do metody dziel i zwyciężaj. Problem, który należy rozwiązać, jest dzielony na kilka mniejszych. I wyniki analizy rozwiązań cząstkowych problemów wykorzystuje się do rozwiązania głównego problemu.
Heurystyka
Na podstawie nie pełnych danych tworzony jest algorytm, który działa w sposób najbardziej prawdopodobny. Metody heurystyczne nie zapewniają otrzymania poprawnego rozwiązania, powstałe algorytmy dają zawsze rozwiązania przybliżone.
Klasyfikacja ze względu na kolejność wykonywania działań:
- liniowy
- warunkowy
- iteracyjny
Liniowy – kolejne kroki w algorytmie są wykonywane w kolejności, w jakiej zostały zapisane. Żaden krok nie może być pominięty ani powtórzony.
Warunkowy – wykonanie poleceń zależy od spełnienia lub nie spełnienia określonego warunku.
Iteracyjny – grupa poleceń jest powtarzana wielokrotnie. Liczba powtórzeń może być z góry określona lub grupa poleceń jest powtarzana aż do momentu spełnienia określonego warunku.
Klasyfikacja ze względu na sposób wykonania operacji:
- sekwencyjne
- iteracyjne
- rekurencyjne
Sekwencyjne – operacje w algorytmie są wykonywane w kolejności, w jakiej zostały napisane.
Iteracyjne – niektóre kroki są powtarzane aż do spełnienia wymaganego warunku.
Rekurencyjne – tworzona jest formuła powtarzająca dane i odwołująca się do niej samej. Zakończenie wywołania formuły następuje po spełnieniu warunku zakończenia rekurencji.
Klasyfikacja ze względu na obszar zastosowań:
- matematyczne
- rekurencyjne
- przeszukujące
- porządkujące
- szyfrujące
Matematyczne – wykonują obliczenia numeryczne
Rekurencyjne – rozwiązują problemy, które po podzieleniu na mniejsze części stanowią kopię głównego problemu.
Przeszukujące – przeszukują zbiór danych w celu znalezienia określonego elementu.
Porządkujące – ustawiają elementy zbioru w określonej kolejności.
Szyfrujące – kodują dane w ten sposób, że ich odczyt jest niemożliwy bez znajomości klucza kodującego.
bardzo przydatne klasyfikacje algorytmów
Przeciwnosci, z ktorymi musimy sie zmierzyć, czesto sprawiaja, ze stajemy sie silniejsi. To, co dziś wydaje się stratą, jutro moze okazać sie zyskiem. – Nick Vujicic
W pełni się zgadam 🙂