A. Jędryczkowski – 2007 r.
Algorytmem nazwiemy ścisły przepis postępowania, którego wykonanie gwarantuje otrzymanie danych wynikowych z dostarczonych danych wejściowych w skończonym czasie zgodnie ze specyfikacją użytkową danego problemu. Szczegóły sformułowania algorytmu nie są przy tym związane bezpośrednio ze specyfiką wykonawcy, któremu zostanie zlecona jego realizacja. Algorytm stanowi ogólny schemat i może być zapisywany w różnych językach i konwencjach, zależnie od potrzeb, upodobań autora i wymagań wykonawcy.
A. Jędryczkowski – 2007 r. Algorytm jest rozwiązaniem problemu przetwarzania danych. Jeżeli nie postawiono problemu, nie ma sensu mówić o rozwiązaniu.
A. Jędryczkowski – 2007 r. Sformułowanie algorytmu nie powinno korzystać ze specyficznych cech wykonawcy; w szczególności nie precyzuje się, czy jest on człowiekiem, czy maszyną.
A. Jędryczkowski – 2007 r. W algorytmie nie ma miejsca na dowolność interpretacji; zamiast powiedzieć: weź dowolną wartość, trzeba określić sposób jej wyliczenia lub pobrania.
A. Jędryczkowski – 2007 r. Niezależnie od tego, czy liczba przewidzianych do wykonania czynności jest z góry znana, czy też zależy od danych, zapis poleceń musi być ujęty w skończonej formie.
A. Jędryczkowski – 2007 r. Algorytm opisuje sposób otrzymania danych wynikowych. Celem realizacji algorytmu jest otrzymanie konkretnego wyniku. Algorytm, który nigdy nie daje żadnych wyników, jest równoważny niepodejmowaniu żadnej czynności.
A. Jędryczkowski – 2007 r. Sformułowanie algorytmu pozwala rozwiązać całą klasę podobnych zadań, różniących się parametrami ustalanymi za pośrednictwem danych wejściowych.
A. Jędryczkowski – 2007 r. Dla każdego prawidłowego zestawu danych wejściowych algorytm powinien wyznaczyć odpowiednie dane wynikowe. Znaczenie pojęcia prawidłowy zestaw danych winno być wyjaśnione w specyfikacji danych; im szerszą klasę danych ono obejmuje, tym lepiej.
A. Jędryczkowski – 2007 r. Dla możliwie szerokiej klasy danych wejściowych algorytm powinien zatrzymać się w skończonym czasie (po wykonaniu lub mimo niewykonania postawionego zadania).
A. Jędryczkowski – 2007 r. Algorytm powinien osiągać efekt końcowy możliwie niskim kosztem. Koszty eksploatacji są związane z czasem pracy wykonawcy: im bardziej efektywny algorytm, tym mniej czasu zajmie jego wykonanie temu samemu wykonawcy. Efektywność algorytmów wyraża się za pomocą pojęcia złożoności obliczeniowej.
A. Jędryczkowski – 2007 r.