Die hier vorgestellten Sortieralgorithmen gingen davon aus, dass die Daten in einem (eindimensionalen) Datenarray vorliegen. Dies vereinfachte die Implementierung der Algorithmen. Falls komplexere Datentypen sortiert werden sollen, müssen die vorgestellten Prozeduren verändert werden. Die Algorithmen selbst ändern sich dabei allerdings nicht. Erst bei Daten, die auf externen Datenspeichern vorliegen, müssen andere Verfahren angewendet werden, da es dann im Allgemeinen nicht mehr möglich ist, alle Daten in den Speicher zu laden.
Häufig liegen Datensätze vor, die aus mehreren Datenfeldern zusammengesetzt sind. Beim Sortieren dieser Datensätze werden nur einige Datenfelder berücksichtigt; diese Felder heißen Sortierschlüssel29.
Um die Effizienz von Sortieralgorithmen untersuchen zu können, muss die Zeit bekannt sein, mit der Vergleiche, Austauschvorgänge und das Laden bzw. Speichern von Daten auf (externen) Datenträgern durchgeführt werden. Im Allgemeinen ist ein Vergleich von Daten bedeutend rascher möglich als ein Austauschvorgang, der grundsäztlich über eine weitere Hilfsvariable im ``Dreiertausch'' erfolgen muss. Am zeitaufwändigsten ist meistens das Laden bzw. Speichern von Daten, die auf Festplatte, CD-ROM, Tape oder auf entfernten Rechnern vorliegen.
Ob Daten sortiert oder unsortiert vorliegen hat für Suchalgorithmen eine besondere Bedeutung (vgl. dazu das ``händische'' Suchen von Informationen aus einem Telefonbuch30). Für unsortierte Daten ist lediglich die sequentielle Suche möglich: Vom ersten Element an müssen alle Elemente getestet werden, bis der gewünschte Eintrag gefunden ist31. Sortierte Daten hingegen können binär durchsucht werden: Man testet zunächst das mittlere Element und setzt die Suche in der Hälfte weiter, in der laut Sortierung das gewünschte Element liegen muss. Dieses Verfahren wird rekursiv so lange fortgesetzt, bis das gesuchte Element gefunden ist, oder bis keine weiteren Elemente mehr vorliegen.