Do tej pory stworzono wiele różnych sposobów podziału algorytmów na grupy. Problem ten wzbudza kontrowersje, trudno jest dokonać jednoznacznej klasyfikacji, dlatego wymienimy podstawowe paradygmaty tworzenia algorytmów komputerowych:
dziel i zwyciężaj – dzielimy problem na kilka mniejszych, a te znowu dzielimy, aż ich rozwiązania staną się oczywiste
programowanie dynamiczne – problem dzielony jest na kilka, ważność każdego z nich jest oceniana i po pewnym wnioskowaniu wyniki analizy niektórych prostszych zagadnień wykorzystuje się do rozwiązania głównego problemu
metoda zachłanna – nie analizujemy podproblemów dokładnie, tylko wybieramy najbardziej obiecującą w tym momencie drogę rozwiązania