Użyteczność algorytmu:
• poprawność
• złożoność obliczeniowa
• złożoność czasu
Złożoność obliczeniowa — ilość zasobów systemu liczącego potrzebny do jednego działania.
Zasoby podstawowe — czas procesora, obszar pamięci
Złożoność czasowa — zależy od wszystkich jednostkowych czynności wykonywanych podczas realizacji algorytmu;
Największy wpływ ma złożoność obliczeniowa
Najczęściej algorytmy maję złożoność czasową proporcjonalną funkcji:
• log(n)-złożoność logarytmiczna
• n- złożoność liniowa
• n log(n) - liniowo - logarytmiczna
• nA2- kwadratowa
• nAk - wielomianowa
• 2 An - wykładnicza
• n! -wykładnicza ponieważ n!»2n już od n=4 Czynności jednostkowa:
• wykrywanie operacji arytmetycznych (dodawanie, odejmowanie, mnożenie...)
• nadanie wartości zmiennej
• zbadanie relacji lub wykonanie operacji logicznej
• wprowadzenie danej
Własności poprawnie skonstruowanego algorytmu:
Uniwersalność - pozwala rozwiązać całą klasę działań
Ścisłość -zarówno czynności algorytmu jak i kolejność wykonywania operacji dostatecznie jasno wyraźnie