Mischen - der Gegensatz des Sortierens
Mischen ist insofern der Gegensatz des Sortierens, als daß sein Ziel es ist, Ordnung zu zerstören bzw. Unordnung zu schaffen. Auch dafür gibt es verschiedene Algorithmen. Was sich vergleichsweise banal anhört, kann - wie das Sortieren - effizient oder ineffizient geschehen.
Auch Mischungsalgorithmen haben verschiedene Eigenschaften hinsichtlich ihrer Geschwindigkeit und ihres Speicherbedarfes, wobei das optimale Mischen wohl das von Fisher und Yates sein dürfte. Außerdem haben die meisten von ihnen kein definiertes Ende (das haben in diesem Programm nur das Binär- und das Fisher-Yates-Mischen). Sie müssen deshalb - abhängig vom Maß der wahrgenommenen Unordnung - vom Benutzer „manuell“ beendet werden. Natürlich könnte man auch einen Test einfügen, der die Unordnung - anhand welcher Merkmale auch immer - „mißt“, um das Mischen vom Programm abbrechen zu lassen. Doch das wäre sehr rechenaufwendig und würde das Mischen dementsprechend stark verlangsamen. Auch ist die dahintersteckende Mathematik keinesfalls trivial. Die Schwierigkeit geht schon damit los, ein Maß für die Unordnung zu definieren - was ist die perfekte, also die maximale Unordnung? Aus Sicht des Seitenbetreibers am ehesten eine solche, die zu beschreiben die maximale Informationsmenge erfordert.
Die in diesem Programm implementierten Mischungsalgorithmen lehnen sich teilweise an das Mischen von Spielkarten an (Blättern/Bogen- und Überhandmischen).
Um das Mischen gut verfolgen zu können, ist es ratsam - ganz im Gegensatz zum Sortieren - mit einer möglichst geordneten Elementemenge zu beginnen (sortierte Startmengenstruktur oder „Anzahl n verschiedener Elemente“ auf 1 senken).