Algorithmen müssen eine definierte Eingabe und Ausgabe, klare und sequentielle Anweisungen, eine Garantie für die Ausführung in einer endlichen Anzahl von Schritten haben, und die Schritte müssen sein einfach genug, um mit einfachen Werkzeugen wie Bleistift und Papier ausgeführt zu werden.