https://de.wikipedia.org/w/index.php?action=history&feed=atom&title=Adaptiver_Sortieralgorithmus
Adaptiver Sortieralgorithmus - Versionsgeschichte
2025-06-03T17:36:27Z
Versionsgeschichte dieser Seite in Wikipedia
MediaWiki 1.45.0-wmf.3
https://de.wikipedia.org/w/index.php?title=Adaptiver_Sortieralgorithmus&diff=227255637&oldid=prev
T. Wirbitzki: /* Einzelnachweise */ lk, Linkbeschriftung
2022-10-22T11:43:31Z
<p><span class="autocomment">Einzelnachweise: </span> lk, Linkbeschriftung</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 22. Oktober 2022, 13:43 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 50:</td>
<td colspan="2" class="diff-lineno">Zeile 50:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| [[AVL-Baum|AVL]] Sort || <math>O \left(n \log \left(\frac{\operatorname{Inv}(X)}{n}\right) + n \right)</math><ref name=AVL>A. Elmasry. ''Adaptive sorting with AVL trees.'', 2004, S. 309. </ref></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| [[AVL-Baum|AVL]] Sort || <math>O \left(n \log \left(\frac{\operatorname{Inv}(X)}{n}\right) + n \right)</math><ref name=AVL>A. Elmasry. ''Adaptive sorting with AVL trees.'', 2004, S. 309. </ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>| [[Mergesort#Natural Mergesort|Natural Mergesort]] || <math>\Theta (n \log(\operatorname{Runs}(X))) </math><ref name=Flensburg>{{Internetquelle|url=<del style="font-weight: bold; text-decoration: none;">http</del>://www.<del style="font-weight: bold; text-decoration: none;">iti</del>.<del style="font-weight: bold; text-decoration: none;">fh</del>-flensburg.de/lang/algorithmen/sortieren/merge/natmerge.htm|werk=<del style="font-weight: bold; text-decoration: none;">FH</del> Flensburg|<del style="font-weight: bold; text-decoration: none;">titel</del>=<del style="font-weight: bold; text-decoration: none;">Natural</del> <del style="font-weight: bold; text-decoration: none;">Mergesort</del>|zugriff=2019-07-20}}</ref></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>| [[Mergesort#Natural Mergesort|Natural Mergesort]] || <math>\Theta (n \log(\operatorname{Runs}(X))) </math><ref name=<ins style="font-weight: bold; text-decoration: none;">"</ins>Flensburg<ins style="font-weight: bold; text-decoration: none;">"</ins>>{{Internetquelle<ins style="font-weight: bold; text-decoration: none;"> |autor=Hans Werner Lang </ins>|url=<ins style="font-weight: bold; text-decoration: none;">https</ins>://www.<ins style="font-weight: bold; text-decoration: none;">inf</ins>.<ins style="font-weight: bold; text-decoration: none;">hs</ins>-flensburg.de/lang/algorithmen/sortieren/merge/natmerge.htm<ins style="font-weight: bold; text-decoration: none;"> |titel=Natural Mergesort </ins>|werk=<ins style="font-weight: bold; text-decoration: none;">[[Hochschule</ins> Flensburg<ins style="font-weight: bold; text-decoration: none;"> (Fachhochschule)</ins>|<ins style="font-weight: bold; text-decoration: none;">Hochschule Flensburg]] |datum</ins>=<ins style="font-weight: bold; text-decoration: none;">2001</ins> |zugriff=2019-07-20}}</ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>|Patience Sorting || Best-Case: <math>O(n)</math>, bei sortierter Eingabe. Average-Case <math>O(n \log n)</math><ref name=Patience>{{Internetquelle|url=https://www.microsoft.com/en-us/research/publication/patience-is-a-virtue-revisiting-merge-and-sort-on-modern-processors/?from=http%3A%2F%2Fresearch.microsoft.com%2Fpubs%2F209622%2Fpatsort-sigmod14.pdf|titel=Patience is a Virtue: Revisiting Merge and <del style="font-weight: bold; text-decoration: none;">Sorton</del> Modern Processors|zugriff=2019-07-30}}</ref></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>|Patience Sorting || Best-Case: <math>O(n)</math>, bei sortierter Eingabe. Average-Case <math>O(n \log n)</math><ref name=<ins style="font-weight: bold; text-decoration: none;">"</ins>Patience<ins style="font-weight: bold; text-decoration: none;">"</ins>>{{Internetquelle<ins style="font-weight: bold; text-decoration: none;"> |autor=Badrish Chandramouli, Jonathan Goldstein </ins>|url=https://www.microsoft.com/en-us/research/publication/patience-is-a-virtue-revisiting-merge-and-sort-on-modern-processors/?from=http%3A%2F%2Fresearch.microsoft.com%2Fpubs%2F209622%2Fpatsort-sigmod14.pdf<ins style="font-weight: bold; text-decoration: none;"> </ins>|titel=Patience is a Virtue: Revisiting Merge and <ins style="font-weight: bold; text-decoration: none;">Sort on</ins> Modern Processors<ins style="font-weight: bold; text-decoration: none;"> |datum=2014 |sprache=en </ins>|zugriff=2019-07-30}}</ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| Randomisierter [[Quicksort]] || <math>O \left(n \log \left(\frac{\operatorname{Inv}(X)}{n}\right) + n \right)</math><ref>G. Brodal, R. Fagerberg and G. Moruz. ''On the adaptiveness of quicksort.'', 2005, S. 3. </ref></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| Randomisierter [[Quicksort]] || <math>O \left(n \log \left(\frac{\operatorname{Inv}(X)}{n}\right) + n \right)</math><ref>G. Brodal, R. Fagerberg and G. Moruz. ''On the adaptiveness of quicksort.'', 2005, S. 3. </ref></div></td>
</tr>
</table>
T. Wirbitzki
https://de.wikipedia.org/w/index.php?title=Adaptiver_Sortieralgorithmus&diff=225683338&oldid=prev
Balticbuchonia: /* Einzelnachweise */ doppeltes Wort
2022-08-27T12:17:19Z
<p><span class="autocomment">Einzelnachweise: </span> doppeltes Wort</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 27. August 2022, 14:17 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 186:</td>
<td colspan="2" class="diff-lineno">Zeile 186:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></syntaxhighlight></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></syntaxhighlight></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Abschließende Experimente zeigen, dass AdaSort zuverlässig den schnellsten Algorithmus auswählt, und im Durchschnitt nur wenige Mikrosekunden langsamer ist als der jeweils schnellste Sortieralgorithmus. Diese Experimente waren allerdings an die Entscheidungsgrenzen für ''n'' im Algorithmus, also <math> n \in \{50, 100, 1000, 10000, 100000, 500000, 1000000\} </math> angepasst, und auf Eingaben fast ohne Ordnung mit <math> \operatorname{RUNS}(X) \approx 0{,}8</math> eingeschränkt. Da das Machine-Learning-Verfahren ebenfalls nur für diese ''n'' Entscheidungsgrenzen gelernt hat, ist damit<del style="font-weight: bold; text-decoration: none;"> ist</del> nicht klar, wie gut AdaSort im Vergleich zu anderen Algorithmen für beispielsweise <math>n = 357211, \text{RUNS} = 0{,}001</math> ist, also <math>\approx 357</math> Runs mit durchschnittlicher Länge von <math>\approx 1000</math>. Es ist zu vermuten, dass für allgemeine <math>n</math> und größere Ordnung in den Eingaben andere Entscheidungsgrenzen für andere Algorithmen gefunden werden können, mit denen AdaSort in diesen Fällen auch eine bessere durchschnittliche Laufzeit erzielt.</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Abschließende Experimente zeigen, dass AdaSort zuverlässig den schnellsten Algorithmus auswählt, und im Durchschnitt nur wenige Mikrosekunden langsamer ist als der jeweils schnellste Sortieralgorithmus. Diese Experimente waren allerdings an die Entscheidungsgrenzen für ''n'' im Algorithmus, also <math> n \in \{50, 100, 1000, 10000, 100000, 500000, 1000000\} </math> angepasst, und auf Eingaben fast ohne Ordnung mit <math> \operatorname{RUNS}(X) \approx 0{,}8</math> eingeschränkt. Da das Machine-Learning-Verfahren ebenfalls nur für diese ''n'' Entscheidungsgrenzen gelernt hat, ist damit nicht klar, wie gut AdaSort im Vergleich zu anderen Algorithmen für beispielsweise <math>n = 357211, \text{RUNS} = 0{,}001</math> ist, also <math>\approx 357</math> Runs mit durchschnittlicher Länge von <math>\approx 1000</math>. Es ist zu vermuten, dass für allgemeine <math>n</math> und größere Ordnung in den Eingaben andere Entscheidungsgrenzen für andere Algorithmen gefunden werden können, mit denen AdaSort in diesen Fällen auch eine bessere durchschnittliche Laufzeit erzielt.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Einzelnachweise ==</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Einzelnachweise ==</div></td>
</tr>
</table>
Balticbuchonia
https://de.wikipedia.org/w/index.php?title=Adaptiver_Sortieralgorithmus&diff=225060498&oldid=prev
Boehm: typog
2022-08-04T06:47:42Z
<p>typog</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 4. August 2022, 08:47 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 8:</td>
<td colspan="2" class="diff-lineno">Zeile 8:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Damit die bereits vorhandene Ordnung in der Eingabe in die Analyse des Algorithmus einfließen kann, muss diese Ordnung gemessen werden. Dafür haben sich mehrere verschiedene Maße etabliert.</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Damit die bereits vorhandene Ordnung in der Eingabe in die Analyse des Algorithmus einfließen kann, muss diese Ordnung gemessen werden. Dafür haben sich mehrere verschiedene Maße etabliert.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Ein häufig verwendetes Maß<ref name = "Petersson155">O. Petersson, A. Moffat: ''A framework for adaptive sorting.'' 1992, S. 155+156.</ref> ist die Anzahl der [[Fehlstand|Fehlstände]], also die Anzahl der Paare in falscher Ordnung, in der Eingabe <math> X = (x_1, <del style="font-weight: bold; text-decoration: none;">...</del>, x_n) </math>:</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Ein häufig verwendetes Maß<ref name = "Petersson155">O. Petersson, A. Moffat: ''A framework for adaptive sorting.'' 1992, S. 155+156.</ref> ist die Anzahl der [[Fehlstand|Fehlstände]], also die Anzahl der Paare in falscher Ordnung, in der Eingabe <math> X = (x_1, <ins style="font-weight: bold; text-decoration: none;">\dots</ins>, x_n) </math>:</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:<math>\operatorname{Inv}(X) = | \left\{ (i,j) \mid 1 \leq i < j \leq n ~\text{und}~ x_i > x_j \right\} | </math>.</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>:<math>\operatorname{Inv}(X) = | \left\{ (i,j) \mid 1 \leq i < j \leq n ~\text{und}~ x_i > x_j \right\} | </math>.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Weitere oft genutzte Maße<ref name ="Petersson155"/> sind:</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Weitere oft genutzte Maße<ref name ="Petersson155"/> sind:</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* die Anzahl von Serien aufeinanderfolgender, ansteigender Elemente, sogenannter <del style="font-weight: bold; text-decoration: none;">"runs"</del>:</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* die Anzahl von Serien aufeinanderfolgender, ansteigender Elemente, sogenannter <ins style="font-weight: bold; text-decoration: none;">„runs“</ins>:</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>:<math> \operatorname{Runs}(X) = |\{\, i\, \mid 1 \leq i < n ~\text{und}~ x_i > x_(i+1)<del style="font-weight: bold; text-decoration: none;"> </del> \}| + 1 </math></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>:<math> \operatorname{Runs}(X) = |\{\, i\, \mid 1 \leq i < n ~\text{und}~ x_i > x_(i+1) \}| + 1 </math></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* die Anzahl von Elementen, die mindestens entfernt werden müssen, um eine sortierte Folge zu erhalten:</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* die Anzahl von Elementen, die mindestens entfernt werden müssen, um eine sortierte Folge zu erhalten:</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>:<math> \operatorname{Rem}(X) = n - \max\{\, k\, \mid X ~\text{hat eine sortierte Teilfolge der Länge}~ k<del style="font-weight: bold; text-decoration: none;"> </del> \} </math></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>:<math> \operatorname{Rem}(X) = n - \max\{\, k\, \mid X ~\text{hat eine sortierte Teilfolge der Länge}~ k \} </math></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* die minimale Anzahl von Vertauschungen je zweier Elemente, um die Eingabe zu sortieren: <math> \operatorname{Exc}(X) </math></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* die minimale Anzahl von Vertauschungen je zweier Elemente, um die Eingabe zu sortieren: <math> \operatorname{Exc}(X) </math></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 44:</td>
<td colspan="2" class="diff-lineno">Zeile 44:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>! Sortierverfahren || Laufzeit</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>! Sortierverfahren || Laufzeit</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>| A-Sort<ref>K. Mehlhorn: ''Sorting Presorted Files.'' 1978, S. 11.</ref> || <math>O \left(n \log \left(\frac{\operatorname{Inv}(X)}{n}\right) + n<del style="font-weight: bold; text-decoration: none;"> </del> \right)</math> (optimal)<ref name = "Peterson165"/><ref>G. Stolting, Chapman & Hall/CRC Computer and Information Science Series.''Handbook of Data Structures and Applications'', 2005, S. 11–8. </ref></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>| A-Sort<ref>K. Mehlhorn: ''Sorting Presorted Files.'' 1978, S. 11.</ref> || <math>O \left(n \log \left(\frac{\operatorname{Inv}(X)}{n}\right) + n \right)</math> (optimal)<ref name = "Peterson165"/><ref>G. Stolting, Chapman & Hall/CRC Computer and Information Science Series.''Handbook of Data Structures and Applications'', 2005, S. 11–8. </ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>| Adaptive Heap Sort || <math>O \left(n \log \left(\frac{\operatorname{Inv}(X)}{n}\right) + n<del style="font-weight: bold; text-decoration: none;"> </del> \right)</math> <ref name =ConstantFactor>S. Edelkamp, A. Elmasry, J. Katajainen.''Two Constant-Factor-Optimal Realizations of Adaptive Heapsort'', 2011, S. 3. </ref></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>| Adaptive Heap Sort || <math>O \left(n \log \left(\frac{\operatorname{Inv}(X)}{n}\right) + n \right)</math> <ref name =ConstantFactor>S. Edelkamp, A. Elmasry, J. Katajainen.''Two Constant-Factor-Optimal Realizations of Adaptive Heapsort'', 2011, S. 3. </ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>| [[AVL-Baum|AVL]] Sort || <math>O \left(n \log \left(\frac{\operatorname{Inv}(X)}{n}\right) + n<del style="font-weight: bold; text-decoration: none;"> </del> \right)</math><ref name=AVL>A. Elmasry. ''Adaptive sorting with AVL trees.'', 2004, S. 309. </ref></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>| [[AVL-Baum|AVL]] Sort || <math>O \left(n \log \left(\frac{\operatorname{Inv}(X)}{n}\right) + n \right)</math><ref name=AVL>A. Elmasry. ''Adaptive sorting with AVL trees.'', 2004, S. 309. </ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| [[Mergesort#Natural Mergesort|Natural Mergesort]] || <math>\Theta (n \log(\operatorname{Runs}(X))) </math><ref name=Flensburg>{{Internetquelle|url=http://www.iti.fh-flensburg.de/lang/algorithmen/sortieren/merge/natmerge.htm|werk=FH Flensburg|titel=Natural Mergesort|zugriff=2019-07-20}}</ref></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| [[Mergesort#Natural Mergesort|Natural Mergesort]] || <math>\Theta (n \log(\operatorname{Runs}(X))) </math><ref name=Flensburg>{{Internetquelle|url=http://www.iti.fh-flensburg.de/lang/algorithmen/sortieren/merge/natmerge.htm|werk=FH Flensburg|titel=Natural Mergesort|zugriff=2019-07-20}}</ref></div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 54:</td>
<td colspan="2" class="diff-lineno">Zeile 54:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|Patience Sorting || Best-Case: <math>O(n)</math>, bei sortierter Eingabe. Average-Case <math>O(n \log n)</math><ref name=Patience>{{Internetquelle|url=https://www.microsoft.com/en-us/research/publication/patience-is-a-virtue-revisiting-merge-and-sort-on-modern-processors/?from=http%3A%2F%2Fresearch.microsoft.com%2Fpubs%2F209622%2Fpatsort-sigmod14.pdf|titel=Patience is a Virtue: Revisiting Merge and Sorton Modern Processors|zugriff=2019-07-30}}</ref></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|Patience Sorting || Best-Case: <math>O(n)</math>, bei sortierter Eingabe. Average-Case <math>O(n \log n)</math><ref name=Patience>{{Internetquelle|url=https://www.microsoft.com/en-us/research/publication/patience-is-a-virtue-revisiting-merge-and-sort-on-modern-processors/?from=http%3A%2F%2Fresearch.microsoft.com%2Fpubs%2F209622%2Fpatsort-sigmod14.pdf|titel=Patience is a Virtue: Revisiting Merge and Sorton Modern Processors|zugriff=2019-07-30}}</ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>| Randomisierter [[Quicksort]] || <math>O \left(n \log \left(\frac{\operatorname{Inv}(X)}{n}\right) + n<del style="font-weight: bold; text-decoration: none;"> </del> \right)</math><ref>G. Brodal, R. Fagerberg and G. Moruz. ''On the adaptiveness of quicksort.'', 2005, S. 3. </ref></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>| Randomisierter [[Quicksort]] || <math>O \left(n \log \left(\frac{\operatorname{Inv}(X)}{n}\right) + n \right)</math><ref>G. Brodal, R. Fagerberg and G. Moruz. ''On the adaptiveness of quicksort.'', 2005, S. 3. </ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|[[Shellsort]] || Best-Case: <math>O(n \log n)</math>, bei sortierter Eingabe. Average-Case nicht in <math>O(n \log n)</math>.<ref name = shellsort>C. Plaxton, B. Poonen, T. Suel, ''Improved Lower Bounds for Shellsort.'' 1992, S. 9.</ref></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|[[Shellsort]] || Best-Case: <math>O(n \log n)</math>, bei sortierter Eingabe. Average-Case nicht in <math>O(n \log n)</math>.<ref name = shellsort>C. Plaxton, B. Poonen, T. Suel, ''Improved Lower Bounds for Shellsort.'' 1992, S. 9.</ref></div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 186:</td>
<td colspan="2" class="diff-lineno">Zeile 186:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></syntaxhighlight></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></syntaxhighlight></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Abschließende Experimente zeigen, dass AdaSort zuverlässig den schnellsten Algorithmus auswählt, und im Durchschnitt nur wenige Mikrosekunden langsamer ist als der jeweils schnellste Sortieralgorithmus. Diese Experimente waren allerdings an die Entscheidungsgrenzen für ''n'' im Algorithmus, also <math> n \in \{50, 100, 1000, 10000, 100000, 500000, 1000000\} </math> angepasst, und auf Eingaben fast ohne Ordnung<del style="font-weight: bold; text-decoration: none;"> </del> mit <math> \operatorname{RUNS}(X) \approx 0<del style="font-weight: bold; text-decoration: none;">.</del>8</math><del style="font-weight: bold; text-decoration: none;"> </del> eingeschränkt. Da das Machine-Learning-Verfahren ebenfalls nur für diese ''n'' Entscheidungsgrenzen gelernt hat, ist damit ist nicht klar, wie gut AdaSort im Vergleich zu anderen Algorithmen für beispielsweise <math>n = 357211, RUNS = 0<del style="font-weight: bold; text-decoration: none;">.</del>001</math> ist, also <math>\approx 357</math> Runs mit durchschnittlicher Länge von <math>\approx 1000</math>. Es ist zu vermuten, dass für allgemeine <math>n</math> und größere Ordnung in den Eingaben andere Entscheidungsgrenzen für andere Algorithmen gefunden werden können, mit denen AdaSort in diesen Fällen auch eine bessere durchschnittliche Laufzeit erzielt.</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Abschließende Experimente zeigen, dass AdaSort zuverlässig den schnellsten Algorithmus auswählt, und im Durchschnitt nur wenige Mikrosekunden langsamer ist als der jeweils schnellste Sortieralgorithmus. Diese Experimente waren allerdings an die Entscheidungsgrenzen für ''n'' im Algorithmus, also <math> n \in \{50, 100, 1000, 10000, 100000, 500000, 1000000\} </math> angepasst, und auf Eingaben fast ohne Ordnung mit <math> \operatorname{RUNS}(X) \approx 0<ins style="font-weight: bold; text-decoration: none;">{,}</ins>8</math> eingeschränkt. Da das Machine-Learning-Verfahren ebenfalls nur für diese ''n'' Entscheidungsgrenzen gelernt hat, ist damit ist nicht klar, wie gut AdaSort im Vergleich zu anderen Algorithmen für beispielsweise <math>n = 357211, <ins style="font-weight: bold; text-decoration: none;">\text{</ins>RUNS<ins style="font-weight: bold; text-decoration: none;">}</ins> = 0<ins style="font-weight: bold; text-decoration: none;">{,}</ins>001</math> ist, also <math>\approx 357</math> Runs mit durchschnittlicher Länge von <math>\approx 1000</math>. Es ist zu vermuten, dass für allgemeine <math>n</math> und größere Ordnung in den Eingaben andere Entscheidungsgrenzen für andere Algorithmen gefunden werden können, mit denen AdaSort in diesen Fällen auch eine bessere durchschnittliche Laufzeit erzielt.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Einzelnachweise ==</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Einzelnachweise ==</div></td>
</tr>
</table>
Boehm
https://de.wikipedia.org/w/index.php?title=Adaptiver_Sortieralgorithmus&diff=207904721&oldid=prev
Wikinger08: QS erledigt
2021-01-21T15:07:09Z
<p>QS erledigt</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 21. Januar 2021, 17:07 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 1:</td>
<td colspan="2" class="diff-lineno">Zeile 1:</td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>{{QS-Antrag|1. Dezember 2020|2=2019 hier abgekippt und seitdem verwaist. Falls korrekt und enz. relevant: Von wo aus dem ANR sollte das verlinkt werden? --[[Benutzer:Jbergner|Jbergner]] ([[Benutzer Diskussion:Jbergner|Diskussion]]) 12:10, 1. Dez. 2020 (CET)}}</div></td>
<td colspan="2" class="diff-empty diff-side-added"></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Adaptive Sortieralgorithmen''' sind [[Sortierverfahren|Sortieralgorithmen]], deren [[Kontrollfluss]] von den Eingabedaten abhängt. Insbesondere sind adaptive Sortieralgorithmen von Interesse, die auf Eingaben, die bereits über eine gewisse Ordnung verfügen, geringere Laufzeiten erzielen, als auf Eingaben ohne Struktur. Viele der bekannten adaptiven Sortieralgorithmen sind durch die Abwandlung bereits bekannter Algorithmen entstanden.</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Adaptive Sortieralgorithmen''' sind [[Sortierverfahren|Sortieralgorithmen]], deren [[Kontrollfluss]] von den Eingabedaten abhängt. Insbesondere sind adaptive Sortieralgorithmen von Interesse, die auf Eingaben, die bereits über eine gewisse Ordnung verfügen, geringere Laufzeiten erzielen, als auf Eingaben ohne Struktur. Viele der bekannten adaptiven Sortieralgorithmen sind durch die Abwandlung bereits bekannter Algorithmen entstanden.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
</table>
Wikinger08
https://de.wikipedia.org/w/index.php?title=Adaptiver_Sortieralgorithmus&diff=207904639&oldid=prev
Wikinger08: Wikinger08 verschob die Seite Adaptives Sortieren nach Adaptiver Sortieralgorithmus: Lemmakorrektur
2021-01-21T15:04:32Z
<p>Wikinger08 verschob die Seite <a href="/wiki/Adaptives_Sortieren" class="mw-redirect" title="Adaptives Sortieren">Adaptives Sortieren</a> nach <a href="/wiki/Adaptiver_Sortieralgorithmus" title="Adaptiver Sortieralgorithmus">Adaptiver Sortieralgorithmus</a>: Lemmakorrektur</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<tr class="diff-title" lang="de">
<td colspan="1" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="1" style="background-color: #fff; color: #202122; text-align: center;">Version vom 21. Januar 2021, 17:04 Uhr</td>
</tr><tr><td colspan="2" class="diff-notice" lang="de"><div class="mw-diff-empty">(kein Unterschied)</div>
</td></tr></table>
Wikinger08
https://de.wikipedia.org/w/index.php?title=Adaptiver_Sortieralgorithmus&diff=207904457&oldid=prev
Wikinger08: Komma
2021-01-21T14:59:31Z
<p>Komma</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 21. Januar 2021, 16:59 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 2:</td>
<td colspan="2" class="diff-lineno">Zeile 2:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Adaptive Sortieralgorithmen''' sind [[Sortierverfahren|Sortieralgorithmen]], deren [[Kontrollfluss]] von den Eingabedaten abhängt. Insbesondere sind adaptive Sortieralgorithmen von Interesse, die auf Eingaben, die bereits über eine gewisse Ordnung verfügen, geringere Laufzeiten erzielen, als auf Eingaben ohne Struktur. Viele der bekannten adaptiven Sortieralgorithmen sind durch die Abwandlung bereits bekannter Algorithmen entstanden.</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Adaptive Sortieralgorithmen''' sind [[Sortierverfahren|Sortieralgorithmen]], deren [[Kontrollfluss]] von den Eingabedaten abhängt. Insbesondere sind adaptive Sortieralgorithmen von Interesse, die auf Eingaben, die bereits über eine gewisse Ordnung verfügen, geringere Laufzeiten erzielen, als auf Eingaben ohne Struktur. Viele der bekannten adaptiven Sortieralgorithmen sind durch die Abwandlung bereits bekannter Algorithmen entstanden.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Da es in der Praxis oft vorkommt, dass Eingaben bereits beinahe sortiert sind, ist man an Algorithmen interessiert, die in diesen Fällen besonders schnell arbeiten. Das Ziel dabei ist es die [[Sortierverfahren#Beweis der unteren Schranke für vergleichsbasiertes Sortieren|untere Schranke]] <math>O(n \log n)</math> für den [[Average Case]] bei vergleichsbasierten Sortieralgorithmen zu unterbieten.</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Da es in der Praxis oft vorkommt, dass Eingaben bereits beinahe sortiert sind, ist man an Algorithmen interessiert, die in diesen Fällen besonders schnell arbeiten. Das Ziel dabei ist es<ins style="font-weight: bold; text-decoration: none;">,</ins> die [[Sortierverfahren#Beweis der unteren Schranke für vergleichsbasiertes Sortieren|untere Schranke]] <math>O(n \log n)</math> für den [[Average Case]] bei vergleichsbasierten Sortieralgorithmen zu unterbieten.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Bei der Laufzeitanalyse der adaptiven Verfahren wird neben der Eingabegröße auch ein Maß für die bereits vorhandene Ordnung in der Eingabe einbezogen – im Gegensatz zu [[Sortierverfahren#Vergleichsbasiertes Sortieren|klassischen vergleichsbasierten Sortierverfahren]], bei denen nur zwischen [[Best Case]], Average Case und [[Worst Case]] unterschieden wird, das Verhalten der Algorithmen zwischen diesen Fällen aber nicht weiter untersucht wird.</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Bei der Laufzeitanalyse der adaptiven Verfahren wird neben der Eingabegröße auch ein Maß für die bereits vorhandene Ordnung in der Eingabe einbezogen – im Gegensatz zu [[Sortierverfahren#Vergleichsbasiertes Sortieren|klassischen vergleichsbasierten Sortierverfahren]], bei denen nur zwischen [[Best Case]], Average Case und [[Worst Case]] unterschieden wird, das Verhalten der Algorithmen zwischen diesen Fällen aber nicht weiter untersucht wird.</div></td>
</tr>
</table>
Wikinger08
https://de.wikipedia.org/w/index.php?title=Adaptiver_Sortieralgorithmus&diff=206149024&oldid=prev
Warburg1866: links
2020-12-02T07:12:41Z
<p>links</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 2. Dezember 2020, 09:12 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 2:</td>
<td colspan="2" class="diff-lineno">Zeile 2:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Adaptive Sortieralgorithmen''' sind [[Sortierverfahren|Sortieralgorithmen]], deren [[Kontrollfluss]] von den Eingabedaten abhängt. Insbesondere sind adaptive Sortieralgorithmen von Interesse, die auf Eingaben, die bereits über eine gewisse Ordnung verfügen, geringere Laufzeiten erzielen, als auf Eingaben ohne Struktur. Viele der bekannten adaptiven Sortieralgorithmen sind durch die Abwandlung bereits bekannter Algorithmen entstanden.</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Adaptive Sortieralgorithmen''' sind [[Sortierverfahren|Sortieralgorithmen]], deren [[Kontrollfluss]] von den Eingabedaten abhängt. Insbesondere sind adaptive Sortieralgorithmen von Interesse, die auf Eingaben, die bereits über eine gewisse Ordnung verfügen, geringere Laufzeiten erzielen, als auf Eingaben ohne Struktur. Viele der bekannten adaptiven Sortieralgorithmen sind durch die Abwandlung bereits bekannter Algorithmen entstanden.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Da es in der Praxis oft vorkommt, dass Eingaben bereits beinahe sortiert sind, ist man an Algorithmen interessiert, die in diesen Fällen besonders schnell arbeiten. Das Ziel dabei ist es die [[Sortierverfahren#Beweis der unteren Schranke für vergleichsbasiertes Sortieren|untere Schranke]] <math>O(n \log n)</math> für den Average<del style="font-weight: bold; text-decoration: none;">-</del>Case bei vergleichsbasierten Sortieralgorithmen zu unterbieten.</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Da es in der Praxis oft vorkommt, dass Eingaben bereits beinahe sortiert sind, ist man an Algorithmen interessiert, die in diesen Fällen besonders schnell arbeiten. Das Ziel dabei ist es die [[Sortierverfahren#Beweis der unteren Schranke für vergleichsbasiertes Sortieren|untere Schranke]] <math>O(n \log n)</math> für den <ins style="font-weight: bold; text-decoration: none;">[[</ins>Average<ins style="font-weight: bold; text-decoration: none;"> </ins>Case<ins style="font-weight: bold; text-decoration: none;">]]</ins> bei vergleichsbasierten Sortieralgorithmen zu unterbieten.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Bei der Laufzeitanalyse der adaptiven Verfahren wird neben der Eingabegröße auch ein Maß für die bereits vorhandene Ordnung in der Eingabe einbezogen – im Gegensatz zu [[Sortierverfahren#Vergleichsbasiertes Sortieren|klassischen vergleichsbasierten Sortierverfahren]], bei denen nur zwischen Best<del style="font-weight: bold; text-decoration: none;">-</del>Case, Average<del style="font-weight: bold; text-decoration: none;">-</del>Case und Worst<del style="font-weight: bold; text-decoration: none;">-</del>Case unterschieden wird, das Verhalten der Algorithmen zwischen diesen Fällen aber nicht weiter untersucht wird.</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Bei der Laufzeitanalyse der adaptiven Verfahren wird neben der Eingabegröße auch ein Maß für die bereits vorhandene Ordnung in der Eingabe einbezogen – im Gegensatz zu [[Sortierverfahren#Vergleichsbasiertes Sortieren|klassischen vergleichsbasierten Sortierverfahren]], bei denen nur zwischen <ins style="font-weight: bold; text-decoration: none;">[[</ins>Best<ins style="font-weight: bold; text-decoration: none;"> </ins>Case<ins style="font-weight: bold; text-decoration: none;">]]</ins>, Average<ins style="font-weight: bold; text-decoration: none;"> </ins>Case und <ins style="font-weight: bold; text-decoration: none;">[[</ins>Worst<ins style="font-weight: bold; text-decoration: none;"> </ins>Case<ins style="font-weight: bold; text-decoration: none;">]]</ins> unterschieden wird, das Verhalten der Algorithmen zwischen diesen Fällen aber nicht weiter untersucht wird.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Maße der Ordnung ==</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Maße der Ordnung ==</div></td>
</tr>
</table>
Warburg1866
https://de.wikipedia.org/w/index.php?title=Adaptiver_Sortieralgorithmus&diff=206123251&oldid=prev
Jbergner: /* Einleitung */ QS+
2020-12-01T11:10:34Z
<p><span class="autocomment">Einleitung: </span> QS+</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 1. Dezember 2020, 13:10 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 1:</td>
<td colspan="2" class="diff-lineno">Zeile 1:</td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>{{QS-Antrag|1. Dezember 2020|2=2019 hier abgekippt und seitdem verwaist. Falls korrekt und enz. relevant: Von wo aus dem ANR sollte das verlinkt werden? --[[Benutzer:Jbergner|Jbergner]] ([[Benutzer Diskussion:Jbergner|Diskussion]]) 12:10, 1. Dez. 2020 (CET)}}</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Adaptive Sortieralgorithmen''' sind [[Sortierverfahren|Sortieralgorithmen]], deren [[Kontrollfluss]] von den Eingabedaten abhängt. Insbesondere sind adaptive Sortieralgorithmen von Interesse, die auf Eingaben, die bereits über eine gewisse Ordnung verfügen, geringere Laufzeiten erzielen, als auf Eingaben ohne Struktur. Viele der bekannten adaptiven Sortieralgorithmen sind durch die Abwandlung bereits bekannter Algorithmen entstanden.</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Adaptive Sortieralgorithmen''' sind [[Sortierverfahren|Sortieralgorithmen]], deren [[Kontrollfluss]] von den Eingabedaten abhängt. Insbesondere sind adaptive Sortieralgorithmen von Interesse, die auf Eingaben, die bereits über eine gewisse Ordnung verfügen, geringere Laufzeiten erzielen, als auf Eingaben ohne Struktur. Viele der bekannten adaptiven Sortieralgorithmen sind durch die Abwandlung bereits bekannter Algorithmen entstanden.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
</table>
Jbergner
https://de.wikipedia.org/w/index.php?title=Adaptiver_Sortieralgorithmus&diff=191119247&oldid=prev
CaroFraTyskland: Rechtschreibfehler
2019-08-07T12:11:31Z
<p>Rechtschreibfehler</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 7. August 2019, 14:11 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 6:</td>
<td colspan="2" class="diff-lineno">Zeile 6:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Maße der Ordnung ==</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Maße der Ordnung ==</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Damit die bereits vorhandene Ordnung in der Eingabe in die Analyse des <del style="font-weight: bold; text-decoration: none;">Agorithmus</del> einfließen kann, muss diese Ordnung gemessen werden. Dafür haben sich mehrere verschiedene Maße etabliert.</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Damit die bereits vorhandene Ordnung in der Eingabe in die Analyse des <ins style="font-weight: bold; text-decoration: none;">Algorithmus</ins> einfließen kann, muss diese Ordnung gemessen werden. Dafür haben sich mehrere verschiedene Maße etabliert.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Ein häufig verwendetes Maß<ref name = "Petersson155">O. Petersson, A. Moffat: ''A framework for adaptive sorting.'' 1992, S. 155+156.</ref> ist die Anzahl der [[Fehlstand|Fehlstände]], also die Anzahl der Paare in falscher Ordnung, in der Eingabe <math> X = (x_1, ..., x_n) </math>:</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Ein häufig verwendetes Maß<ref name = "Petersson155">O. Petersson, A. Moffat: ''A framework for adaptive sorting.'' 1992, S. 155+156.</ref> ist die Anzahl der [[Fehlstand|Fehlstände]], also die Anzahl der Paare in falscher Ordnung, in der Eingabe <math> X = (x_1, ..., x_n) </math>:</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 82:</td>
<td colspan="2" class="diff-lineno">Zeile 82:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Patience Sorting ===</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Patience Sorting ===</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Patience Sorting<ref name=Patience/> verläuft in zwei Phasen. In der ersten Phase werden ''Runs'' (siehe oben) erzeugt: jedes Element wird entweder dem Ende eines bereits angelegten Runs angefügt, oder, falls es keinen Run gibt, bei dem das möglich ist, bildet einen neuen Run.</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Patience Sorting<ref name=Patience/> verläuft in zwei Phasen. In der ersten Phase werden ''Runs'' (siehe oben) erzeugt: jedes Element wird entweder dem Ende eines bereits angelegten Runs angefügt, oder, falls es keinen Run gibt, bei dem das möglich ist, bildet einen neuen Run.</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>In der zweiten Phase wird ein [[Merge-Algorithmen#k-Wege-Mischen|k-Wege-Mischen]] auf die Runs angewendet, um eine sortierte Folge zu <del style="font-weight: bold; text-decoration: none;">erhaten</del>.</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>In der zweiten Phase wird ein [[Merge-Algorithmen#k-Wege-Mischen|k-Wege-Mischen]] auf die Runs angewendet, um eine sortierte Folge zu <ins style="font-weight: bold; text-decoration: none;">erhalten</ins>.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Beispiel:'''</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Beispiel:'''</div></td>
</tr>
</table>
CaroFraTyskland
https://de.wikipedia.org/w/index.php?title=Adaptiver_Sortieralgorithmus&diff=191100070&oldid=prev
Aka: Leerzeichen vor Zahl eingefügt, Halbgeviertstrich, Links normiert, Kleinkram
2019-08-06T18:26:25Z
<p>Leerzeichen vor Zahl eingefügt, Halbgeviertstrich, Links normiert, Kleinkram</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 6. August 2019, 20:26 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 3:</td>
<td colspan="2" class="diff-lineno">Zeile 3:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Da es in der Praxis oft vorkommt, dass Eingaben bereits beinahe sortiert sind, ist man an Algorithmen interessiert, die in diesen Fällen besonders schnell arbeiten. Das Ziel dabei ist es die [[Sortierverfahren#Beweis der unteren Schranke für vergleichsbasiertes Sortieren|untere Schranke]] <math>O(n \log n)</math> für den Average-Case bei vergleichsbasierten Sortieralgorithmen zu unterbieten.</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Da es in der Praxis oft vorkommt, dass Eingaben bereits beinahe sortiert sind, ist man an Algorithmen interessiert, die in diesen Fällen besonders schnell arbeiten. Das Ziel dabei ist es die [[Sortierverfahren#Beweis der unteren Schranke für vergleichsbasiertes Sortieren|untere Schranke]] <math>O(n \log n)</math> für den Average-Case bei vergleichsbasierten Sortieralgorithmen zu unterbieten.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Bei der Laufzeitanalyse der adaptiven Verfahren wird neben der Eingabegröße auch ein Maß für die bereits vorhandene Ordnung in der Eingabe einbezogen <del style="font-weight: bold; text-decoration: none;">-</del> im Gegensatz zu [[Sortierverfahren#<del style="font-weight: bold; text-decoration: none;">Vergleichsbasiertes_Sortieren</del>|klassischen vergleichsbasierten Sortierverfahren]], bei denen nur zwischen Best-Case, Average-Case und Worst-Case unterschieden wird, das Verhalten der Algorithmen zwischen diesen Fällen aber nicht weiter untersucht wird.<del style="font-weight: bold; text-decoration: none;"> </del></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Bei der Laufzeitanalyse der adaptiven Verfahren wird neben der Eingabegröße auch ein Maß für die bereits vorhandene Ordnung in der Eingabe einbezogen <ins style="font-weight: bold; text-decoration: none;">–</ins> im Gegensatz zu [[Sortierverfahren#<ins style="font-weight: bold; text-decoration: none;">Vergleichsbasiertes Sortieren</ins>|klassischen vergleichsbasierten Sortierverfahren]], bei denen nur zwischen Best-Case, Average-Case und Worst-Case unterschieden wird, das Verhalten der Algorithmen zwischen diesen Fällen aber nicht weiter untersucht wird.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Maße der Ordnung ==</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Maße der Ordnung ==</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 44:</td>
<td colspan="2" class="diff-lineno">Zeile 44:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>! Sortierverfahren || Laufzeit</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>! Sortierverfahren || Laufzeit</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>| A-Sort<ref>K. Mehlhorn: ''Sorting Presorted Files.'' 1978, S. 11.</ref> || <math>O \left(n \log \left(\frac{\operatorname{Inv}(X)}{n}\right) + n \right)</math> (optimal)<ref name = "Peterson165"/><ref>G. Stolting, Chapman & Hall/CRC Computer and Information Science Series.''Handbook of Data Structures and Applications'', 2005, S.<del style="font-weight: bold; text-decoration: none;">11-8</del>. </ref></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>| A-Sort<ref>K. Mehlhorn: ''Sorting Presorted Files.'' 1978, S. 11.</ref> || <math>O \left(n \log \left(\frac{\operatorname{Inv}(X)}{n}\right) + n \right)</math> (optimal)<ref name = "Peterson165"/><ref>G. Stolting, Chapman & Hall/CRC Computer and Information Science Series.''Handbook of Data Structures and Applications'', 2005, S.<ins style="font-weight: bold; text-decoration: none;"> 11–8</ins>. </ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>| Adaptive Heap Sort || <math>O \left(n \log \left(\frac{\operatorname{Inv}(X)}{n}\right) + n \right)</math> <ref name =ConstantFactor>S. Edelkamp, A. Elmasry, J. Katajainen.''Two Constant-Factor-Optimal Realizations of Adaptive Heapsort'', 2011, S.3. </ref></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>| Adaptive Heap Sort || <math>O \left(n \log \left(\frac{\operatorname{Inv}(X)}{n}\right) + n \right)</math> <ref name =ConstantFactor>S. Edelkamp, A. Elmasry, J. Katajainen.''Two Constant-Factor-Optimal Realizations of Adaptive Heapsort'', 2011, S.<ins style="font-weight: bold; text-decoration: none;"> </ins>3. </ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>| [[AVL-Baum|AVL]] Sort || <math>O \left(n \log \left(\frac{\operatorname{Inv}(X)}{n}\right) + n \right)</math><ref name=AVL>A. Elmasry. ''Adaptive sorting with AVL trees.'', 2004, S.309. </ref></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>| [[AVL-Baum|AVL]] Sort || <math>O \left(n \log \left(\frac{\operatorname{Inv}(X)}{n}\right) + n \right)</math><ref name=AVL>A. Elmasry. ''Adaptive sorting with AVL trees.'', 2004, S.<ins style="font-weight: bold; text-decoration: none;"> </ins>309. </ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| [[Mergesort#Natural Mergesort|Natural Mergesort]] || <math>\Theta (n \log(\operatorname{Runs}(X))) </math><ref name=Flensburg>{{Internetquelle|url=http://www.iti.fh-flensburg.de/lang/algorithmen/sortieren/merge/natmerge.htm|werk=FH Flensburg|titel=Natural Mergesort|zugriff=2019-07-20}}</ref></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| [[Mergesort#Natural Mergesort|Natural Mergesort]] || <math>\Theta (n \log(\operatorname{Runs}(X))) </math><ref name=Flensburg>{{Internetquelle|url=http://www.iti.fh-flensburg.de/lang/algorithmen/sortieren/merge/natmerge.htm|werk=FH Flensburg|titel=Natural Mergesort|zugriff=2019-07-20}}</ref></div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 54:</td>
<td colspan="2" class="diff-lineno">Zeile 54:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|Patience Sorting || Best-Case: <math>O(n)</math>, bei sortierter Eingabe. Average-Case <math>O(n \log n)</math><ref name=Patience>{{Internetquelle|url=https://www.microsoft.com/en-us/research/publication/patience-is-a-virtue-revisiting-merge-and-sort-on-modern-processors/?from=http%3A%2F%2Fresearch.microsoft.com%2Fpubs%2F209622%2Fpatsort-sigmod14.pdf|titel=Patience is a Virtue: Revisiting Merge and Sorton Modern Processors|zugriff=2019-07-30}}</ref></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|Patience Sorting || Best-Case: <math>O(n)</math>, bei sortierter Eingabe. Average-Case <math>O(n \log n)</math><ref name=Patience>{{Internetquelle|url=https://www.microsoft.com/en-us/research/publication/patience-is-a-virtue-revisiting-merge-and-sort-on-modern-processors/?from=http%3A%2F%2Fresearch.microsoft.com%2Fpubs%2F209622%2Fpatsort-sigmod14.pdf|titel=Patience is a Virtue: Revisiting Merge and Sorton Modern Processors|zugriff=2019-07-30}}</ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>| Randomisierter [[Quicksort]] || <math>O \left(n \log \left(\frac{\operatorname{Inv}(X)}{n}\right) + n \right)</math><ref>G. Brodal, R. Fagerberg and G. Moruz. ''On the adaptiveness of quicksort.'', 2005, S.3. </ref></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>| Randomisierter [[Quicksort]] || <math>O \left(n \log \left(\frac{\operatorname{Inv}(X)}{n}\right) + n \right)</math><ref>G. Brodal, R. Fagerberg and G. Moruz. ''On the adaptiveness of quicksort.'', 2005, S.<ins style="font-weight: bold; text-decoration: none;"> </ins>3. </ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|[[Shellsort]] || Best-Case: <math>O(n \log n)</math>, bei sortierter Eingabe. Average-Case nicht in <math>O(n \log n)</math>.<ref name = shellsort>C. Plaxton, B. Poonen, T. Suel, ''Improved Lower Bounds for Shellsort.'' 1992, S. 9.</ref></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|[[Shellsort]] || Best-Case: <math>O(n \log n)</math>, bei sortierter Eingabe. Average-Case nicht in <math>O(n \log n)</math>.<ref name = shellsort>C. Plaxton, B. Poonen, T. Suel, ''Improved Lower Bounds for Shellsort.'' 1992, S. 9.</ref></div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 60:</td>
<td colspan="2" class="diff-lineno">Zeile 60:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|[[Smoothsort]] || <math>O(n)</math> für sortierte Eingaben. Erreicht <math>O \left(n \log \left(\frac{\operatorname{Inv}(X)}{n}\right) + n \right)</math> nicht.<ref name = "hertel">{{Internetquelle|url=http://scidok.sulb.uni-saarland.de/volltexte/2011/4062/pdf/fb14_1982_11.pdf|titel=Smoothsort's behavior on presorted sequences|zugriff=2019-07-30}}</ref> Worst-Case: <math>O(n \log n)</math></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|[[Smoothsort]] || <math>O(n)</math> für sortierte Eingaben. Erreicht <math>O \left(n \log \left(\frac{\operatorname{Inv}(X)}{n}\right) + n \right)</math> nicht.<ref name = "hertel">{{Internetquelle|url=http://scidok.sulb.uni-saarland.de/volltexte/2011/4062/pdf/fb14_1982_11.pdf|titel=Smoothsort's behavior on presorted sequences|zugriff=2019-07-30}}</ref> Worst-Case: <math>O(n \log n)</math></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>| [[Splay-Baum|Splay]]sort || In Experimenten ab einer bestimmten Ordnung in der Eingabe schneller als Randomisierter Quicksort und AVL Sort.<ref name=inversionsensitive>A. Elmasry, A. Hammad. ''An Empirical Study for Inversions-Sensitive Sorting Algorithms.'', 2005, S.597. </ref></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>| [[Splay-Baum|Splay]]sort || In Experimenten ab einer bestimmten Ordnung in der Eingabe schneller als Randomisierter Quicksort und AVL Sort.<ref name=inversionsensitive>A. Elmasry, A. Hammad. ''An Empirical Study for Inversions-Sensitive Sorting Algorithms.'', 2005, S.<ins style="font-weight: bold; text-decoration: none;"> </ins>597. </ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| Straight [[Insertionsort]] || <math>\Theta (n + \operatorname{Inv}(X)) </math><ref name = "Peterson165">O. Petersson, A. Moffat: ''A framework for adaptive sorting.'' 1992, S. 165.</ref></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| Straight [[Insertionsort]] || <math>\Theta (n + \operatorname{Inv}(X)) </math><ref name = "Peterson165">O. Petersson, A. Moffat: ''A framework for adaptive sorting.'' 1992, S. 165.</ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>| [[Timsort]] || <math>O(n + n \log \operatorname{Runs}(X))</math>.<ref>N. Auger, V. Jugé, C. Nicaud, C. Pivoteau. ''On the Worst-Case Complexity of TimSort.'', 2012, S.4:8. </ref> Worst-Case: <math>O(n \log n)</math> <ref name=Tim>N. Auger, V. Jugé, C. Nicaud, C. Pivoteau. ''On the Worst-Case Complexity of TimSort.'', 2012, S.4:4. </ref></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>| [[Timsort]] || <math>O(n + n \log \operatorname{Runs}(X))</math>.<ref>N. Auger, V. Jugé, C. Nicaud, C. Pivoteau. ''On the Worst-Case Complexity of TimSort.'', 2012, S.<ins style="font-weight: bold; text-decoration: none;"> </ins>4:8. </ref> Worst-Case: <math>O(n \log n)</math> <ref name=Tim>N. Auger, V. Jugé, C. Nicaud, C. Pivoteau. ''On the Worst-Case Complexity of TimSort.'', 2012, S.<ins style="font-weight: bold; text-decoration: none;"> </ins>4:4. </ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|}</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>|}</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 78:</td>
<td colspan="2" class="diff-lineno">Zeile 78:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Natural Mergesort ===</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Natural Mergesort ===</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[Mergesort#Natural Mergesort|Natural Mergesort]]<ref name=Flensburg/> verwendet als Ausgangspunkt für die merge-Operationen nicht einelementige Teilfolgen, sondern die in der Eingabe bereits vorhandenen ''Runs'' (siehe oben). Falls das größte Element der einen Teilfolge kleiner ist als das kleinste der zweiten Teilfolge, so kann die merge-Operation durch eine entsprechende [[<del style="font-weight: bold; text-decoration: none;">Formale_Sprache</del>#Konkatenation|Konkatenation]] der beiden Teilfolgen ersetzt werden.</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[Mergesort#Natural Mergesort|Natural Mergesort]]<ref name=Flensburg/> verwendet als Ausgangspunkt für die merge-Operationen nicht einelementige Teilfolgen, sondern die in der Eingabe bereits vorhandenen ''Runs'' (siehe oben). Falls das größte Element der einen Teilfolge kleiner ist als das kleinste der zweiten Teilfolge, so kann die merge-Operation durch eine entsprechende [[<ins style="font-weight: bold; text-decoration: none;">Formale Sprache</ins>#Konkatenation|Konkatenation]] der beiden Teilfolgen ersetzt werden.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Patience Sorting ===</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Patience Sorting ===</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 155:</td>
<td colspan="2" class="diff-lineno">Zeile 155:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Keiner der bekannten adaptiven Sortieralgorithmen ist in allen Fällen schneller als alle anderen. Die Laufzeit der Algorithmen hängt aufgrund ihrer Adaptivität stark von der Eingabe ab, und so ist in manchen Fällen der eine Algorithmus schneller, in anderen der andere. Welcher Algorithmus der schnellste für eine Eingabe ist, ist erst nach der Ausführung bekannt.</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Keiner der bekannten adaptiven Sortieralgorithmen ist in allen Fällen schneller als alle anderen. Die Laufzeit der Algorithmen hängt aufgrund ihrer Adaptivität stark von der Eingabe ab, und so ist in manchen Fällen der eine Algorithmus schneller, in anderen der andere. Welcher Algorithmus der schnellste für eine Eingabe ist, ist erst nach der Ausführung bekannt.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Es ist aber möglich die Laufzeiten vorab zu [[Schätzfunktion#Schätzfunktionen|schätzen]], und den Algorithmus auszuwählen mit der geringsten geschätzten Laufzeit, in der Hoffnung, dass dieser auch der tatsächlich schnellste Algorithmus für die Eingabe ist. Auf diese Weise kann aus den bekannten Algorithmen ein Algorithmus konstruiert werden, der für alle Eingaben, die zu einer guten Schätzung der Laufzeiten führen, so schnell sortiert, wie der jeweils schnellste Algorithmus, allerdings mit dem Zusatzaufwand für die Laufzeitschätzungen. Diese Schätzung kann mit [[<del style="font-weight: bold; text-decoration: none;">Maschinelles_Lernen</del>|Machine-Learning]]-Verfahren durchgeführt werden.</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Es ist aber möglich die Laufzeiten vorab zu [[Schätzfunktion#Schätzfunktionen|schätzen]], und den Algorithmus auszuwählen mit der geringsten geschätzten Laufzeit, in der Hoffnung, dass dieser auch der tatsächlich schnellste Algorithmus für die Eingabe ist. Auf diese Weise kann aus den bekannten Algorithmen ein Algorithmus konstruiert werden, der für alle Eingaben, die zu einer guten Schätzung der Laufzeiten führen, so schnell sortiert, wie der jeweils schnellste Algorithmus, allerdings mit dem Zusatzaufwand für die Laufzeitschätzungen. Diese Schätzung kann mit [[<ins style="font-weight: bold; text-decoration: none;">Maschinelles Lernen</ins>|Machine-Learning]]-Verfahren durchgeführt werden.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>In <ref>S. Majumdar, I. Jain, K. Kukreja ''AdaSort: Adaptive Sorting using Machine Learning.'' 2016.</ref> wurde das Machine-Learning-Verfahren so trainiert, dass es in Abhängigkeit von zwei Parametern, ''RUNS'' und ''n'', einen Sortieralgorithmus auswählt. Dabei ist</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>In <ref>S. Majumdar, I. Jain, K. Kukreja ''AdaSort: Adaptive Sorting using Machine Learning.'' 2016.</ref> wurde das Machine-Learning-Verfahren so trainiert, dass es in Abhängigkeit von zwei Parametern, ''RUNS'' und ''n'', einen Sortieralgorithmus auswählt. Dabei ist</div></td>
</tr>
</table>
Aka