<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Merge_Insertion</id>
	<title>Merge Insertion - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Merge_Insertion"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Merge_Insertion&amp;action=history"/>
	<updated>2026-05-24T15:32:19Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Merge_Insertion&amp;diff=426136&amp;oldid=prev</id>
		<title>~2026-15680-6: /* Literatur */Online verfügbar.</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Merge_Insertion&amp;diff=426136&amp;oldid=prev"/>
		<updated>2026-01-31T19:48:52Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Literatur: &lt;/span&gt;Online verfügbar.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{QS-Informatik}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Merge Insertion&amp;#039;&amp;#039;&amp;#039; (auch bekannt als Ford-[[Selmer M. Johnson|Johnson]]-Algorithmus) ist in der [[Informatik]] ein [[Rekursion|rekursives]], vergleichsorientiertes [[Sortierverfahren]], das mit weniger Vergleichen als [[Mergesort]] auskommt.&lt;br /&gt;
&lt;br /&gt;
== Idee des Algorithmus ==&lt;br /&gt;
Der tatsächliche Aufbau des Algorithmus ist schwer zu verstehen. Deshalb soll an dieser Stelle die Idee von &amp;#039;&amp;#039;Merge Insertion&amp;#039;&amp;#039; kurz erläutert werden.&lt;br /&gt;
&lt;br /&gt;
Mergesort benötigt immer die gleiche Anzahl Vergleiche abhängig von der Eingabelänge &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;, egal ob &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; eine Zweierpotenz ist oder nicht. Diese Tatsache macht sich &amp;#039;&amp;#039;Merge Insertion&amp;#039;&amp;#039; zu Nutze und schafft es deshalb, mit weniger Vergleichen als Mergesort auszukommen. Die Idee ist, die Eingabe bei der [[Rekursion]] nicht in möglichst gleich große Teillisten aufzuspalten, sondern immer die nächstgrößere Zweierpotenz zu bearbeiten. Dadurch benötigt &amp;#039;&amp;#039;Merge Insertion&amp;#039;&amp;#039; im Vergleich zur informationstheoretischen unteren Schranke &amp;lt;math&amp;gt;S(n)\ge \lceil \log_2 n! \rceil&amp;lt;/math&amp;gt; nur eine sehr geringe Anzahl Vergleiche mehr, als theoretisch notwendig.&lt;br /&gt;
&lt;br /&gt;
== Laufzeit ==&lt;br /&gt;
Merge Insertion hat im Best-, Average- und Worst-Case eine  &amp;lt;math&amp;gt;\mathcal{O}( n \cdot \log (n) )&amp;lt;/math&amp;gt;-Komplexität.&amp;lt;ref&amp;gt;[[Sortierverfahren#Vergleichsbasiertes Sortieren|Wikipediaseite zu Sortierverfahren]]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Internetquelle |autor=Florian Stober, Armin Weiß |url=https://arxiv.org/abs/1905.09656v1 |titel=On the Average Case of MergeInsertion |abruf=2022-01-20}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Algorithmus als Pseudocode ==&lt;br /&gt;
procedure MergeInsertion(&amp;lt;math&amp;gt;S_1{,}...{,}S_n&amp;lt;/math&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
  1. Sortiere die Eingabe &amp;lt;math&amp;gt;S_1{,}...{,}S_n&amp;lt;/math&amp;gt; mit je einem Vergleich in &amp;lt;math&amp;gt;\lfloor n/2 \rfloor&amp;lt;/math&amp;gt; disjunkte Paare.&lt;br /&gt;
     Ergebnis: &amp;lt;math&amp;gt;b_i{&amp;lt;}a_i&amp;lt;/math&amp;gt; mit &amp;lt;math&amp;gt;i=1{,}...{,}\lfloor n/2 \rfloor&amp;lt;/math&amp;gt;&lt;br /&gt;
  2. Sortiere die größeren Elemente &amp;lt;math&amp;gt;a_1{,}...{,}a_{\lfloor n/2 \rfloor}&amp;lt;/math&amp;gt; rekursiv mit MergeInsertion.&lt;br /&gt;
  3. Nenne das Ergebnis aus Schritt 2 die Hauptkette: &amp;lt;math&amp;gt;b_1{&amp;lt;}a_1{&amp;lt;}a_2...{&amp;lt;}a_{\lfloor n/2 \rfloor}&amp;lt;/math&amp;gt;&lt;br /&gt;
     Füge nun die restlichen Elemente &amp;lt;math&amp;gt;b_2{,}...{,}b_{\lceil n/2 \rceil}&amp;lt;/math&amp;gt; durch &amp;#039;&amp;#039;Binäres Einfügen&amp;#039;&amp;#039; in der Reihenfolge &lt;br /&gt;
     &amp;lt;math&amp;gt;b_3,b_2,b_5,b_4,b_{11},b_{10},b_9,b_8,b_7,b_6,...&amp;lt;/math&amp;gt; in die Hauptkette ein.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* [[Donald E. Knuth]]: [https://seriouscomputerist.atariverse.com/media/pdf/book/Art%20of%20Computer%20Programming%20-%20Volume%203%20(Sorting%20&amp;amp;%20Searching).pdf &amp;#039;&amp;#039;Sorting and Searching/The Art of Computer Programming&amp;#039;&amp;#039;]. Addison-Wesley Longman, 2. Auflage, 2003, ISBN 0201896850&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Sortieralgorithmus]]&lt;/div&gt;</summary>
		<author><name>~2026-15680-6</name></author>
	</entry>
</feed>