Danksagungen
Etliche (alphabetisch aufgeführte) Personen halfen mir auf unterschiedliche Weise (teils aktiv über Korrespondenz, teils mit der Zurverfügungstellung von Quellcode(s), teils mit ihren Veröffentlichungen und teils mit ihrem meine Motivation steigernden Interesse) bei der Erstellung und Perfektionierung dieses Programmes. Ohne sie gäbe es das Sortierkino entweder gar nicht, oder es sähe deutlich ärmer aus, auch diese Internetseite hätte bedeutend weniger Inhalt (sofern es sie überhaupt gäbe). Nicht aufgeführt wurden die Autoren der Algorithmen, die schon seit langem (teilweise Jahrzehnten) existieren und mithin sozusagen Allgemeingut (geworden) sind. Im einzelnen danke ich:
- Herrn Ahmad (oder Ahmed) Abdelfattah (oder Abdel Fattah) für sein M-Sort
- Dr. Elif Acar / Elif Haytaoğlu (PhD) von der Pamukkale University zu Denizli (Türkei) für die Zurverfügungstellung des Java-Quellcodes ihres In-Situ-Shuffle-Mergings (gemeinsam mit Prof. Dr. Mehmet Emin Dalkiliç und Görkem Tokatli)
- den drei indischen Informatikern Prof. Dr. Sk Safikul Alam (auch hier), Prof. Sourabh Chandrab (auch hier) und Smita Paira, Department of CSE,Calcutta Institute of Technology, Uluberia, Howrah district (Indien) für ihr „Enhanced Merge Sort - a new approach to the merging process“ (direkt downloadbar hier)
- Andrei Alexandrescu für seine beschleunigte Lomuto-Partitionierung (nur als Kommentar im Quelltext)
- Lloyd Allison für seinen Verschmelzungsalgorithmus von Bing-Chao Huang und Michael A. Langston
- alzaimar aus der Delphipraxis für sein Vergleichsprogramm für Suchverfahren, das Skip(list)search enthält und aus dem ich Skip(list)sort extrahieren konnte
- Andrej Astrelin für seine Sortierprojekte, denen ich einige Sortieralgorithmen entnahm
- einem Autorenkollektiv (sieben Autoren) für sein Fun-Sort
- Dr. Thomas Baudel (PhD) für seinen Quelltext des SGI-Mergesorts
- Benny Baumann alias BenBE aus der Entwicklerecke, der mir in dieser Diskussion bzw. konkret in diesem Beitrage die Sprungbefehle aus dem Permutationsenumerationsalgorithmus von Prof. Dr. Oleg Victorov (s. dort) entfernte
- Dr. Jon Louis Bentley (PhD) für sein Q-Sort im Skript „Engineering a Sort Function“ (auch dort)
- Diplominformatiker und -mathematiker Dr. Timo Bingmann (auch hier) für sein Programm sound of sorting, dem ich die Idee des iterativen Radixsorts (Most Significant Digit) entnahm
- Dr. Joshua Bloch (PhD, Java-Chefprogrammierer bei Google) für seine Java-Version des Timsorts
- Blup aus der Delphipraxis für seine Implementation des Treesorts
- Prof. Dr. Coenraad Bron für sein „Smoothsort revised“ (gemeinsam mit Wim H. Hesselink)
- Craig Brown (Australien) für dieses und jenes Projekt, denen ich einige interessante Sortieralgorithmen entnahm, sowie für seine freundliche Antwort, außerdem für die prompte Korrektur eines gemeldeten Fehlers
- Prof. Dr. (PhD) Soubhik Chakraborty vom Birla Institute of Technology, Mesra, Indien, für sein Script „A new sorting algorithm“ (auch dort), gemeinsam mit Kiran Kumar Sundararajan, sowie für sein Script „K-sort: A new sorting algorithm that beats Heap sort for n ≤ 70 lakhs!“, gemeinsam mit Kiran Kumar Sundararajan, Mita Pal und N.C. Mahanti
- Badrish Chandramouli für sein Skript zum Patiencesort „Patience is a virtue“ (gemeinsam mit Jonathan Goldstein (s.u.)) und seine Hilfsbereitschaft
- Prof. (em.) Dr. Jingchao Chen von der School of Informatics / School of Information Science & Technology der Ostchina-Universität / Donghua University zu Shanghai (China) für sein Proportion Extend Sort und Symmetry Partition Sort, die Zurverfügungstellung von Quellcode für Symmetry Partition Sort, seine Fehlerhinweise sowie sein Interesse an diesem Programm
- Diplominformatiker Dr. Jörg Dallmayer (auch hier) für sein Interesse an diesem Programm und seine helfende Hinweise
- den drei brasilianischen Informatikern Prof. Dr. Mauricio Ayala Rincón, Bruno T. De Abreu und Prof. Dr. José Lopes de Siqueira Neto (auch hier) für ihre Merge-Insertion-Sort-Variante „4 Ford Johnson“
- Diplomlehrer für Informatik Lars Drews (Gymnasium) vom Gymnasium Rostock-Reutershagen (Europaschule) für seine helfenden Anregungen, Hinweise und sein Interesse an diesem Programm
- den beiden tschechischen (oder slowakischen) Informatikern Branislav Durian und S. Dvorák für ihre Ausarbeitungen „Merging by Decomposition Revisited“ (auch hier), für sowie (bislang nicht implementiert) „Stable Linear Time Sublinear Space Merging“ und „Unstable linear time O(1) space merging“
- Herrn Viktor J. Duwanenko für sein In-Place-Verschmelzen
- Prof. Dr. Stefan Edelkamp für seine Skripte „QuickMergesort: Practically Efficient Constant-Factor Optimal Sorting“ (auch hier) und „Worst-Case Efficient Sorting with QuickMergesort“, sein „Blockquicksort: How Branch Mispredictions don't affect Quicksort“ (auch hier und dort), für „QuickXsort – A Fast Sorting Scheme in Theory and Practice“ (auch dort) und für „QuickXsort: Efficient Sorting with n logn - 1.399n + o(n) Comparisons on Average“, alle gemeinsam mit Armin Weiß, sowie die freundliche Konversation
- Prof. (em.) Dr. John Ellis von The University of Victoria, British Columbia (Kanada), für Skripte über Mergingalgorithmen (einer gemeinsam mit Minko Markow, einer gemeinsam mit Ulrike Stege), die Bereitstellung des Pascal-Quellcodes seines In-Situ-Shuffling-Merging-Algorithmus' (gemeinsam mit Minko Markow) und sein Interesse an diesem Programm
- Prof. Dr. (PhD) Maarten Herman van Emden, Department of Computer Science, Faculty of Engineering & Computer Science, University of Victoria, Kanada (auch hier, da und dort) für sein Skript „Increasing the Efficiency of Quicksort“
- HerrnProf. Dr. Simone Faro (auch hier) vom Department für Mathematik und Informatik (und dem Department für Geisteswissenschaften) der Universität Catania (Sizilien) für sein Skript „Fast-Insertion-Sort: a New Family of Effcient Variants of the Insertion-Sort Algorithm“ (gemeinsam mit Francesco Pio Marino und Stefano Scafiti)
- Flogo aus der Delphipraxis für seine Delphi-Implementation des Bresenham-Algorithmus' und für seine beiden Quellprojekte für Fibonacci-Heaps
- Georg Frevel für sein Heap-F-Sort
- Frühlingsrolle aus der Entwicklerecke für die wahrlich sehr umfassende Hilfe, Smoothsort-Objektklassen eines Java-Quelltextes nach Objekt-Pascal zu übersetzen und schon zuvor, diesen Java-Quellcode zum Laufen zu bringen
- Jonathan Goldstein für sein Skript zum Patiencesort „Patience is a virtue“ (gemeinsam mit Badrish Chandramouli (s.o.)) und seine Hilfsbereitschaft
- Kevin Gong für seine Seite zu den Block-Swapping-/Array-Rotations-Algorithmen und die freundliche Konversation
- Prof. Dr. (PhD) Michael T. Goodrich für sein Annealing- und Spin-the-bottom-Sort (auch hier), sein randomisiertes Shellsort (auch hier) und sein Zig-Zag-Sort (auch hier)
- William A. Greene für seine Ausarbeitung k-way merging and k-ary sorts, der ich die Idee des rekursiven Naturalmergesorts und des mit K-Way-Verschmelzen (mit linearer Suche) entnahm
- Piotr Grochowski für seinen Arrayvisualizer
- Dr. Jason Harrison von The University of British Columbia zu Vancouver, British Columbia (Kanada), für sein In-Situ-Merging in seiner Sortieranimation
- Prof. Dr. Wim H. Hesselink für sein „Smoothsort revised“ (gemeinsam mit Coenraad Bron)
- Horst_H aus der Entwicklerecke für seine Hilfe, eine Boolean-Array mit einer Integerzahl zu ersetzen (konkret in diesem Projekt)
- Bing-Chao Huang für sein Skript „Practical In-Place Merging“ (gemeinsam mit Michael A. Langston)
- den drei pakistanischen Informatikern Sardar Zafar Iqbal, Hina Gull und Abdul Wahab Muzaffar für ihr Script „A New Friends Sort Algorithm“
- Sebastian Jänicke für seine Hilfe, eine Vergleichsfunktion in einem Java-Projekt zu implementieren
- Wladimir Jaroslawskii (Vladimir Yaroslavskiy) für sein Dual-Pivot-Qucksort
- den drei finnischen Informatikern Prof. Dr. Jyrki Katajainen, Prof. Dr. Tomi Pasanen und Jukka Teuhola (auch hier) für ihr „Practical In-Place Mergesort“
- Prof. Dr. Arne Kutzner vom Department of Information Systems, College of Engineering der Hanyang University zu Seoul (Südkorea) für seine gemeinsam mit Frau Prof. Dr. Pok-Son Kim von der Kookmin University (Department of Mathematics) und vom Korean Institute of Intelligent Systems entwickelten Mergingalgorithmen, die er im Benchmarkingtool bzw. konkret hier implementierte, und die ich extrahierte und nach Pascal übersetzte, seine Geduld und Unterstützung sowie sein Interesse an diesem Programm
- Prof. Dr. Hans Werner Lang von der FH Flensburg für seinen ausführlichen Internetauftritt zu Sortieralgorithmen, speziell zu den Mergesorts und sein Interesse an diesem Programm
- Prof. Dr. (PhD) Michael A. Langston (auch hier) für sein Skript „Practical In-Place Merging“ (gemeinsam mit Bing-Chao Huang)
- Larry Liu Xinyu (auch hier, e-Mail) für sein IM-Sort
- Prof. Dr. (PhD) Heikki Mannila, Universität Helsinki, jetzt Universität Aalto, Finnland, für seinen Algorithmus „A simple linear-time algorithm for in situ merging“ (gemeinsam mit Esko Ukkonen)
- meinem Sohn Arian Matthes für das eigeninitiative Testen des Programmes, für seine Ideen sowie das Finden und Mitteilen von Fehlern
- Prof. Dr. Malcolm Douglas McIlroy, Dartmouth College, Department of Computer Science, Hanover, USA, für seine Idee einer besonderen Startmenge (die ich um eine weitere Startmenge erweiterte)
- Prof. Dr. Sergio Luis Sardi Mergen, Dozent am Centro de Technologica der Universidade Federal de Santa Maria, und an der Universidade Federal do Pampa zu Bagé, Rio Grande do Sul, Brasilien, für sein Interesse an diesem Programm und die Zuverfügungstellung seines Duelmerge-Algorithmus' (entwickelt gemeinsam mit Frau Prof. Dr. Viviane Pereira Moreire vom Instituto de Informática der Universidade Federal do Rio Grande do Sul
- Prof. Dr. Alistair Moffat vom Department of Computing and Information Systems, The University of Melbourne (Australien) für sein Splaysort (gemeinsam mit Gary Eddy vom Department for Infrastructure Services, University of Melbourne, und Ola Petersson von der Linné-Universität, Växjö, Schweden) und die Korrespondenz dazu
- Thomas Müller für sein stabiles Quicksort, seinen stabilen Mergealgorithmus und die freundliche Konversation
- Prof. (em.) Dr. (PhD) Wendy Joanne Myrvold für sein Script Ranking and unranking permutations in linear time (gemeinsam mit Frank Ruskey)
- Herrn Jens Neugebauer für seine leichtverständliche Darstellung des Proportion Extend Sorts in einer Studienarbeit inkl. Quellcode (der leicht überarbeitet wurde)
- Prof. Dr. (PhD) Ian Parberry vom Laboratory for Recretional Computing für seine Ausarbeitung The Pairwise Sorting Network (auch hier) und für sein freundliches Lob
- Luis Isidoro Trabb Pardo (PhD), Palo Alto, Kalifornien, für seine Ausarbeitung Stable sorting and merging with optimal space and time bounds
- Ethan Pattie für seinen ArrayVisualizer (Java-Projekt mit Sortieralgorithmen)
- Tim Peters für sein Timsort und die freundliche Konversation
- Diplomlehrer für Mathematik, Physik, Astronomie und Informatik (Gymnasium) und Autor der WinFunktion-Progammreihe (Mathematik, Physik, Chemie, Biologie) Steffen Polster vom Kepler-Gymnasium zu Chemnitz für sein Interesse an diesem Programm, seine helfenden Anregungen und (nicht nur Fehler-)Hinweise sowie den Einsatz dieses Programmes in seiner Lehreinrichtung und speziell das Prüfen der Netzwerktauglichkeit sowie seinen Verweis zu diesem Projekt (auch hier)
- Prof. Dr. (PhD) Tribikram Pradhan für sein Skript „Merge Sort Enhanced In Place Sorting Algorithm“ (gemeinsam mit Vignesh R.)
- Prof. (em.) Dr. Vaughan Donald Pratt (PhD) für seinen Verschmelzungsalgorithmus (gefunden in „The Turku Lectures“ von Lutz Michael Wegner (s.u.) auf S. 118 ff. und im Original im 3. Band „Sorting and Searching“, 2. Auflage bzw. second edition, 1998, von „The Art of Computer Programming“ von Donald Ervin Knuth (s.o). S. 701) und die freundliche, hilfsbereite Konversation
- Prof. (em.) Dr.-Ing. Franco P. Preparata (auch hier) vom Department of Computer Scinece der Brown Universtity, Providence, Rhode Island, USA, für seine Ausabeitung A fast stable sorting algorithm with absolutly minimum storage
- Michael Puff alias Luckie aus der Delphipraxis für seine Ausarbeitungen zu Threads und kontextsensitiver Hilfe unter Delphi
- rastikzzz, funntom / Ano Nym und Winster (wahrscheinlich Slowaken), die ein Delphiprojekt zur Splaytree-Animation veröffentlichten (Beteiligte hier, Delphi-Dateien dort, war die Grundlage für das Splaysort)
- Prof. Dr. (PhD) Frank Ruskey für sein Script Ranking and unranking permutations in linear time (gemeinsam mit Wendy Myrvold)
- John Reynolds („MusicTheorist“) für seinen ArrayVizualizer
- rlx (Vorname Ralf) für seinen Monolog über Sortieralgorithmen, (2. und 3. Teil), insbesondere sein Minsertion-, sein rlx-, sein Split- und sein Swirlsort (das leicht überarbeitet wurde)
- samso aus der Delphipraxis für seine Hilfe bei der Überarbeitung einer Funktion
- Prof. Dr. Hamid Sarbazi-Azad von der Sharif Univerisity of Technology zu Teheran (Iran) für sein verblüffend, ja geradezu genial einfaches Stupid-/Gnomesort
- Herrn Stefano Scafiti für sein Skript „Fast-Insertion-Sort: a New Family of Effcient Variants of the Insertion-Sort Algorithm“ (gemeinsam mit Simone Faro und Francesco Pio Marino) sowie für die freundliche Überlassung von Quelltext dazu
- Keith Schwarz, Dozent / Lektor am Department für Computerwissenschaft (Computer Science) der Stanford University (hier, da, dort und an weiteren Stellen zu finden) für seine alternative Version des Smoothsorts, seinen Quelltext dazu (auch hier) und seine Hilfe
- Prof. Dr. Robert Sedgewick von der Princeton University zu Princeton (New Jersey, USA) für sein Buch „Algorithmen“, das das Turbo-Pascal-Vorbild dieses Programmes Anfang der 90er ermöglichte - damals war das Internet noch nicht für jede(rman)n zugänglich - und für sein Sript „Permutation Generation Methods“ (auch dort)
- Frank Semmling alias himitsu aus der Delphipraxis für seine Hilfe, bestimmte Ereignisse der Spinedits zu unterdrücken
- den vier indischen Informatikern Sunny Sharma, Vinay Kumar, Prithvipal Singh und Amritpal Singh (alle von der Guru Nanak Dev University, Amritsar, Punjab, Indien) für ihren Sortieralgorithmus „VRF: A Novel Algorithm for optimized Sorting“
- Prof. Dr. (PhD) Ching-Kuang Shene (auch hier) für sein Skript „An Analysis of Two In-Place Array Rotation Algorithms“
- Diplomingenieur Siegfried Sielaff für seine beiden In-Situ-Merging-Algorithmen und die Zurverfügungstellung seiner (C-)Quelltexte dazu
- Prof. Dr. Ulrike Stege von The University of Victoria, British Columbia (Kanada), für ihr Interesse an diesem Programm und ihre Ko-Autorenschaft bei einem Mergingalgorithmus von John Ellis
- Herrn Kanagavelu Sugumar für sein In-Place-Verschmelzen
- Herrn Kiran Kumar Sundararajan (auch dort), für sein Script „A new sorting algorithm“ (auch dort), gemeinsam mit Soubhik Chakraborty, sowie für sein Script „K-sort: A new sorting algorithm that beats Heap sort for n ≤ 70 lakhs!“, gemeinsam mit Soubhik Chakraborty, Mita Pal und N.C. Mahanti
- Christopher Swenson für sein Sortierprojekt, dem ich einige Sortieralgorithmen entnahm
- Tastaro aus der Entwicklerecke für seinen entscheidenden Hinweis, das Bedienformular (konkret dessen Layout) besser zu strukturieren
- Roman Tereshin (ramntry) für seinen Pascal-Quelltext des Binary Search Trees
- Dr. Hartwig Thomas von der Enter AG zu Zürich für die Korrespondenz zum Smoothsort und speziell für seinen Java-Quelltext dazu, dem ich seine Variante des Smooth- und des Heapsorts entnahm
- Prof. Dr. (PhD) Esko Ukkonen, Universität Helsinki, Finnland, für seinen Algorithmus „A simple linear-time algorithm for in situ merging“ (gemeinsam mit Heikki Mannila)
- unbekannt für den Pascal-/Delphi-Quellcode für Smoothsort (den ich leicht überarbeitete, s. auch Edits 7 und 8)
- unbekannt für das Circle-, das Cycle- und das Strandsort
- unbekannt hier und hier für die Block-Swapping-/Array-Rotations-Algorithmen
- unbekannt für den halbstabilen Partitionierungsalgorithmus, der, wie ich erst später erkannte, die Partitionierung nach Nico Lomuto ist
- meiner Tochter Dr. Aenne Vajen für ihre Übersetzungshilfe ins Englische
- Prof. Dr. Oleg V. Victorov vom College of Information Technology, Computer Information System Department, Faculty of Information Technology der Middle East University zu Amman (Jordanien) für seinen auf je einer Vertauschung beruhenden Permutationsenumerationsalgorithmus
- Freek van Walderveen (auch hier) für seine Klasse für Rot-Schwarz-Bäme (auch hier) als Grundlage für das Red-Black-Sort
- Abhishek Walia für sein In-Situ-Merging
- Prof. Dr. habil. Ingo Wegener für sein Skript „BOTTOM-UP-HEAPSORT, a new variant of HEAPSORT beating, on an average, QUICKSORT (if n is not very small)“ (direkt downloadbar hier)
- Prof. (em.) Dr. rer. pol. habil. Lutz Michael Wegner, Kassel, für seine Ausarbeitung zu Sortieralgorithmen „Sorting - The Turku Lectures“ (auch zu finden als TUCSLectureNotes22.pdf), für seine Vorlesungsfolien, beides recht ergiebige Quellen, (aus) denen beiden ich einige Algorithmen entnahm, für sein stabiles, listenbasiertes Quicksort namens Trisort und für die freundliche Konversation
- Diplominformatiker Peter Weigel (auch hier) für seinen in bezug auf Sortieralgorithmen beispiellosen, in dieser Ausführlichkeit und Tiefgängigkeit weltweit einmaligen Internetauftritt, seine Geduld mit mir und sein Interesse an meiner Aktivität sowie seinen Verweis zu diesem Projekt
- Dr. Armin Weiß für seine Skripte „QuickMergesort: Practically Efficient Constant-Factor Optimal Sorting“ (auch hier) und „Worst-Case Efficient Sorting with QuickMergesort“, sein „Blockquicksort: How Branch Mispredictions don't affect Quicksort“ (auch hier und dort), für „QuickXsort – A Fast Sorting Scheme in Theory and Practice“ (auch dort) und für „QuickXsort: Efficient Sorting with n logn - 1.399n + o(n) Comparisons on Average“, alle geimeinsam mit Stefan Edelkamp, sowie für jenes Projekt
- fleißigen, hilfsbereiten und kompetenten Foristen aus der Delphipraxis, die mir einige Fragen beantworteten, insbesondere hier und dort
- fleißigen, hilfsbereiten und kompetenten Foristen aus der Entwickler-Ecke, vor allem Th69 und Frühlingsrolle, die mir hier und dort halfen
- fleißigen, hilfsbereiten und kompetenten Foristen, die AVL- und B-Sort nach Pascal übersetzten, insbesondere Muetze1
- und vielen weiteren, die nicht mal aliasnamentlich im Internet auftraten.