Dla algorytmu i programu wspólne są trzy podstawowe własności:
■ Poprawność - wykonanie algorytmu lub programu dla dowolnych danych wejściowych przekazuje zawsze poprawne wyniki
■ Skończoność - wykonanie akcji odbywa się zawsze w skończonej liczbie kroków
■ Sprawność - ten algorytm (program) jest lepszy, który szybciej liczy oraz zajmuje mniej miejsca (pamięci) na dysku.