Kurz erklärt
Eine eindeutige, schrittweise Anleitung zur Lösung eines Problems — unabhängig von einer konkreten Programmiersprache, aber die Grundlage für jeden tatsächlichen Programmcode.
Genauer
Algorithmen werden meist nach ihrer Effizienz verglichen (wie stark wächst die benötigte Zeit/der Speicher mit der Eingabegröße) — bekannte Beispiele sind Sortier- und Suchalgorithmen. Die Wahl der passenden Datenstruktur hat oft mindestens so großen Einfluss auf die Performance wie der Algorithmus selbst.