Klasyfikacja Algorytmów

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.

3 comments

  1. 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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *