
Die Sort Befehle von Purebasic verwenden übrigens Mergesort (Listen) und Quicksort (Arrays). Beide Algorithmen laufen in O(n*log(n)).
Sprich, wenn wir beim Beispiel 10.000 Elemente bleiben sind das ca in 9,2*10.000 also etwa 100.000 Operationen. Da sie dazu noch wesentlich maschinennäher arbeiten dürften sie bei der Zahl sogar noch mit der Linearen Lösung, die Jogo schön aufgegriffen hat, konkurrieren. Erst bei einer Abstrus hohen Anzahl an Elementen wird man dann einen Unterschied merken. Also durchaus auch eine schnelle effiziente Lösung.
Deine Lösung EmmJott sollte so also funktionieren. Ebenso kannst du auf die Weise Jogos Lösung mit zwei Durchläufen verwenden, was noch etwas flotter sein sollte.
Meine Lösung auch nochmal in Stichpunkten (und mit Optimierung zu Sha256 aus dem Thema):
- NewMap Counter()
- Verzeichnisse einlesen,
- SHA256-Fingerprint erstellen
- Feld "doublette" = false
- Mapeintrag Counter($fingerprint)+1
- Einmal über die Liste gehen und jeweils Feld "doublette" = true, wenn Counter($fingerprint)>1

Übrigens meinte ich tatsächlich jdupes. Das ist eine Weiterentwicklung von dupes und nochmal viel mächtiger und flotter.