Złożoność algorytmu
Napisano w Zadania
Pod tym adresem możemy przypomnieć sobie o złożoności i poprawności algorytmów – http://mfranczak.pl/46-zlozonosc-i-efektywnosc-algorytmow/
plik do ćwiczeń – Złożoność algorytmu
Rzędy złożoności czasowej
Złożoność czasowa | Opis | Szybkość algorytmu | przykład algorytmu | |
O(1) | stała złożoność – algorytm wykonuje się w stałej ilości operacji, niezależnie od liczby danych wejściowych. | najszybszy | ||
O(log2(n)) | złożoność logarytmiczna – algorytm wykonuje logarytmiczną ilość operacji w stosunku do liczby danych wejściowych.
|
bardzo szybki | ||
O(n) | złożoność liniowa – algorytm wykonuje wprost proporcjonalną ilość operacji do liczby danych wejściowych.
|
szybki | Sort. kubełkowe | |
O(n*log2(n)) | złożoność liniowo-logarytmiczna
|
szybki | Sort. Przez scalanie, quicksort, | |
O(n2) | złożoność kwadratowa – ilość operacji algorytmu jest wprost proporcjonalna do liczby danych wejściowych podniesionej do potęgi drugiej.
|
niezbyt szybki | Sort. Bąbelkowe, przez wstawianie, | |
O(nX) | złożoność wielomianowa – ilość operacji algorytmu jest wprost proporcjonalna do liczby danych wejściowych podniesionej do potęgi X.
|
wolny | ||
O(Xn) | złożoność wykładnicza – ilość operacji algorytmu jest wprost proporcjonalna do stałej X większej lub równej 2, podniesionej do potęgi równej liczbie danych wejściowych.
|
bardzo wolny |