{"id":4017,"date":"2025-03-16T18:17:49","date_gmt":"2025-03-16T17:17:49","guid":{"rendered":"https:\/\/maximini.eu\/work\/?p=4017"},"modified":"2026-04-01T14:18:45","modified_gmt":"2026-04-01T12:18:45","slug":"merge-sort","status":"publish","type":"post","link":"https:\/\/maximini.eu\/work\/merge-sort\/","title":{"rendered":"Merge-Sort"},"content":{"rendered":"<p><a href=\"https:\/\/de.wikipedia.org\/wiki\/Mergesort\" target=\"_blank\" rel=\"noopener\">Merge-Sort<\/a> ist ein Sortieralgorithmus, der eine Liste (Array) in kleinere Teillisten aufteilt, diese sortiert und wieder zusammenf\u00fchrt. Beim Top-Down-Merge-Sort wird das Array nach dem <a href=\"https:\/\/de.wikipedia.org\/wiki\/Teile-und-herrsche-Verfahren\" target=\"_blank\" rel=\"noopener\"> Teile und herrsche<\/a> (divide and conquer)- Prinzip von oben nach unten sortiert. Beim Bottom-Up-Merge-Sort werden Arrays mit einem Elemente iterativ (schrittweise) von unten nach oben zu einer sortierten Gesamtliste zusammengef\u00fcgt.<\/p>\n<h2>Schrittfolge des Algorithmus&nbsp;<\/h2>\n<h3>Top-Down-Merge-Sort<\/h3>\n<p>Der Algorithmus arbeitet in zwei Phasen. In der ersten Phase teilt er die Ausgangsliste immer mittig in kleinere Teillisten, bis alle Teillisten nur noch ein Element enthalten. Die Mitte des Arrays berechnet man der Formel \u230a ( left + right ) \/ 2\u230b ). In der zweiten Phase werden die Elemente der Teillisten paarweise verglichen und schrittweise wieder zusammengef\u00fchrt (gemergt).<\/p>\n<pre><b>******** Pseudocode MergeSort <\/b><strong>Top-Down<\/strong> <b>*********\r\n\r\nInput: unsorted array A\r\nOutput: sorted array A\r\n\r\nMergeSort (A, left, right)\r\n  if left &lt; right then\r\n    middle = <strong><span class=\"mopen\">\u230a (left + right) \/ 2<\/span><span class=\"mclose\">\u230b&nbsp;<\/span><\/strong>\r\n    MergeSort (A, left, middle)\r\n    MergeSort (A, middle + 1,right)\r\n  MergeSort()\r\nreturn A\r\n<\/b><\/pre>\n<h3>Bottom-Up-Merge-Sort<\/h3>\n<p>Beim Bottom-Up-Merge-Sort gibt es keine Teilungsphase. Der Algorithmus beginnt mit bereits sortierten 1-Element-Arrays und f\u00fchrt diese in aufsteigender Reihenfolge zusammen. Das Merging erfolgt iterativ (schrittweise) von unten nach oben. Dabei&nbsp; verdoppelt sich in jeder Iteration die Gr\u00f6\u00dfe der Teilarrays.&nbsp;<\/p>\n<pre><b>******** Pseudocode MergeSort <\/b><strong>Botton-Up<\/strong> <b>********* \r\n\r\nInput: unsorted array A \r\n<\/b><b>Output: sorted array A \r\n\r\n<\/b><b>MergeSort (A)\r\n   def size = 1<\/b><b>              \/\/ Anfangsgr\u00f6\u00dfe Teillisten\r\n   def left = 0\r\n   def n = A.length\r\n<\/b><b>   while size &lt; n do\r\n      for left = 0 to n mit Schritt 2 \u22c5 size do\r\n         middle = left + size - 1          \r\n         right = min(left + 2 \u22c5 size - 1, n - 1)      \r\n         MergeSort (A, left, middle, right)  \r\n      size = size \u22c5 2                   <\/b><b>\r\n<\/b><b>return A<\/b><\/pre>\n<h2>Komplexit\u00e4t des Algorithmus<\/h2>\n<h3><span style=\"color: #99cc00;\">Best-Case: O(n log<sub>2<\/sub> n)<\/span>, <strong><span style=\"color: #ff0000;\">Worst Case: O(n log<sub>2<\/sub> n )<\/span>,<span style=\"color: #ff9900;\">Average Case: O(n log<sub>2<\/sub> n)<\/span><\/strong><\/h3>\n<p>Der Merge-Sort-Algorithmus hat bei beiden Varianten eine lineare Speicherplatzkomplexit\u00e4t O(n). In Abh\u00e4ngigkeit von der Anzahl der Elemente der Ausgangsliste ben\u00f6tigt der Merge-Sort immer proportional zus\u00e4tzlichen Speicher f\u00fcr die Arrays der Teillisten. Beim Bottom-Up-Merge-Sort entf\u00e4llt der Speicherbedarf f\u00fcr den rekursiven Stack.&nbsp; Die Laufzeitkomplexit\u00e4t des Merge-Sort-Algorithmus ist in allen drei F\u00e4llen quasilinear O(n log<sub>2<\/sub> n), d.h. sie w\u00e4chst mit zunehmender Eingabegr\u00f6\u00dfe etwas mehr als linear. Das Array wird in der Divide-Phase in zwei H\u00e4lften geteilt. Die notwendigen Teilungsschritte (<a href=\"https:\/\/de.wikipedia.org\/wiki\/Rekursion\" target=\"_blank\" rel=\"noopener\">Rekursionstiefe<\/a>) werden mit dem Logarithmus zur Basis 2 ( log<sub>2<\/sub> n ) berechnet, wobei n die Anzahl der Elemente ist. Anschlie\u00dfend werden die Teillisten in den Mergeschritten zusammengef\u00fchrt.<\/p>\n<table>\n<tbody>\n<tr>\n<td style=\"background-color: #cccccc;\"><strong>Beispiel<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Der Merge-Sort-Algorithmus teilt ein Array mit vier Elementen&nbsp; [ 1, 2, 3, 4 ] in vier Arrays mit einem Element [ 1 ] [ 2 ] [ 3 ] [ 4 ]. Die Anzahl der Listenelemente ist n&nbsp; = 4. <span class=\"base\"><span class=\"mord mathnormal\"><span style=\"font-family: inherit; font-size: inherit;\">Bei einem Array <\/span><span style=\"font-family: inherit; font-size: inherit;\">mit vier Elementen ben\u00f6tigt er zwei Teilungen, die <\/span><\/span><\/span><span class=\"base\"><span class=\"mord mathnormal\"><span style=\"font-family: inherit; font-size: inherit;\">Rekursionstiefe<\/span><span class=\"base\" style=\"font-family: inherit; font-size: inherit;\"> <span style=\"font-family: inherit; font-size: inherit;\"><span class=\"katex\"><span class=\"katex-mathml\">betr\u00e4gt <\/span><\/span><\/span><span class=\"mop\">log<span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><sub><span class=\"vlist\"><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2 <\/span><\/span><\/span><\/sub><span class=\"vlist-s\">\u200b<\/span><\/span><\/span><\/span><\/span>4 = <span class=\"katex\"><span class=\"katex-mathml\">2, da <\/span><\/span>&nbsp;<span class=\"katex\"><span class=\"katex-mathml\">\u20612<sup>2<\/sup> = 4. In der Conquer-Phase f\u00fchrt der Algorithmus beim Mergen insgesamt f\u00fcnf Vergleiche durch<\/span><\/span><\/span><\/span><\/span>.<\/p>\n<h4>Divide-Phase (Teilungsphase)<\/h4>\n<p>Erste Teilung:&nbsp;<br \/>\n[ 1, 2, 3, 4&nbsp; ] &#8211;&gt; [ 1, 2 ] [ 3, 4 ]<br \/>\nZweite Teilung:<br \/>\n[ 1, 2 ]&nbsp; &#8211;&gt; [ 1 ] [ 2 ]<br \/>\n[ 3, 4 ]&nbsp; &#8211;&gt; [ 3 ] [ 4 ]<\/p>\n<h4>Conquer-Phase (Eroberungsphase)<\/h4>\n<p>Erster Merge: &nbsp;<br \/>\n1. Vergleich [ 1 ] [ 2 ]: 1 &lt; 2&nbsp; &nbsp; &nbsp; &nbsp;&#8211;&gt; [ 1, 2 ]&nbsp;<br \/>\n2. Vergleich [ 3 ] [ 4 ]: 3 &lt; 4&nbsp; &nbsp; &nbsp; &nbsp;&#8211;&gt; [ 3, 4 ]&nbsp;<\/p>\n<p>Zweiter Merge:<br \/>\n1. Vergleich [ <strong><span style=\"color: #ff6600;\">1<\/span><\/strong>, 2 ] [ <strong>3<\/strong>, 4 ]: 1 &lt; 3&nbsp; &nbsp; &#8211;&gt; [ 1 ]&nbsp; &nbsp;<br \/>\n2. Vergleich [ <span style=\"color: #000000;\">1<\/span>, <strong><span style=\"color: #ff6600;\">2<\/span> <\/strong>] [ <strong>3<\/strong>, 4 ]: 2 &lt; 3&nbsp; &nbsp; &#8211;&gt; [ 1, 2 ]&nbsp; &nbsp;<br \/>\n3. Vergleich [ <span style=\"color: #000000;\">1<\/span>, <span style=\"color: #000000;\">2 <\/span>] [ <strong><span style=\"color: #ff6600;\">3<\/span><\/strong>, <strong><span style=\"color: #000000;\">4 <\/span><\/strong>]: 3 &lt; 4&nbsp; &nbsp; &#8211;&gt; [ 1, 2, 3 ]&nbsp; &nbsp;<br \/>\n4. Vergleich [ <span style=\"color: #000000;\">1<\/span>, <span style=\"color: #000000;\">2 <\/span>] [ <span style=\"color: #000000;\">3<\/span>, <span style=\"color: #ff6600;\"><strong>4 <\/strong><\/span>]: Rest 4&nbsp; &#8211;&gt; [ 1, 2, 3, 4 ]&nbsp; &nbsp;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr>\n<h2>Beispiel 1:<\/h2>\n<h3>Merge-Sort-Algorithmus Top-Down im Array A<\/h3>\n<p>Der Algorithmus sortiert die acht Zahlen des Arrays A [ 13, 20, 9, 4, 17, 7, 15, 11 ] von oben nach unten in aufsteigender Reihenfolge. Der Algorithmus f\u00fchrt in der Teilungsphase log<sub>2 <\/sub> 8 = 3 Teilungsschritte durch. Er ermittelt die jeweilige mittlere Position der Arrays mit der Formel \u230a (left + right) \/ 2 \u230b und teilt das Ausgangsarray in acht Arrays mit einem Element. In der Eroberungsphase f\u00fchrt der Algorithmus f\u00fchrt er log <sub> 2 <\/sub>\u200b( 8) = 3 Mergeschritte durch. In jedem Schritt sortiert er das jeweilige Teilarray indem er die aktuellen Elemente mit dem Zwei-<a href=\"https:\/\/de.wikipedia.org\/wiki\/Zeiger_(Informatik)\" target=\"_blank\" rel=\"noopener\">Zeiger<\/a>-Verfahren vergleicht. Abschlie\u00dfend werden die sortierten Teillisten zu einem sortierten Array zusammenf\u00fcgt.<\/p>\n<h4>Initialisierung<\/h4>\n<p>Array A [ 13, 20, 9, 4, 17, 7, 15, 11 ], Anzahl Elemente n = 8&nbsp;<br \/>\nleft&nbsp; = 0<br \/>\nright = A.lenght = 8<\/p>\n<hr>\n<h4>Divide-Phase (Teilungsphase)<\/h4>\n<p>Erste Teilung:<br \/>\nmiddle =&nbsp;\u230a (0 + 8) \/ 2 \u230b = 4, A [ 4 ] = 17<br \/>\nArray A [ 13, 20, 9, 4, <strong><span style=\"color: #ff6600;\">17<\/span><\/strong>, 7, 15, 11 ]<br \/>\nTeilarray A<sub>1<\/sub> [ 13, 20, 9, 4 ]&nbsp;<br \/>\nTeilarray A<sub>2<\/sub> [ 17, 7, 15, 11 ]&nbsp;<\/p>\n<p>Zweite Teilung:<br \/>\nmiddle = \u230a (0 + 4) \/ 2 \u230b = 2, A<sub>1<\/sub> [ 2 ] = 9, A<sub>2<\/sub> [ 2 ] = 15<br \/>\nTeilarray A<sub>1<\/sub> [ 13, <span style=\"color: #000000;\">20,<\/span> <strong><span style=\"color: #ff6600;\">9<\/span><\/strong>, 4 ] , Teilarray A<sub>2<\/sub> [ 17, 7, <strong><span style=\"color: #ff6600;\">15<\/span><\/strong>, 11 ]&nbsp;<br \/>\nTeilarray A<sub>1<\/sub>&nbsp; [ 13, 20 ]&nbsp;<br \/>\nTeilarray A<sub>2<\/sub> &nbsp;[ 9, 4 ]&nbsp;<br \/>\nTeilarray A<sub>3<\/sub> [ 17, 7 ]&nbsp;<br \/>\nTeilarray A<sub>4<\/sub> [ 15, 11 ]&nbsp;<\/p>\n<p>Dritte Teilung:<br \/>\nmiddle = <span class=\"mopen\">\u230a (0 + 2) \/ 2<\/span><span class=\"mclose\">\u230b = 1, A<sub>11<\/sub> [ 1 ] = 20, A<sub>12<\/sub> [ 1 ] = 4, A<sub>21<\/sub> [ 1 ] = 7, A<sub>22<\/sub> [ 1 ] = 11<\/span><br \/>\nTeilarray A<sub>1<\/sub> &nbsp;[ 13, <strong><span style=\"color: #ff6600;\">20<\/span><\/strong> ] , Teilarray A<sub>2<\/sub> &nbsp;[ 9, <strong><span style=\"color: #ff6600;\">4<\/span> <\/strong>] , Teilarray A<sub>3<\/sub> [ 17, <strong><span style=\"color: #ff6600;\">7<\/span> <\/strong>] , Teilarray A<sub>4<\/sub> [ 15, <strong><span style=\"color: #ff6600;\">11<\/span> <\/strong>]&nbsp;<br \/>\nTeilarray A<sub>1<\/sub>&nbsp; [ 13 ]&nbsp;<br \/>\nTeilarray A<sub>2<\/sub> &nbsp;[ 20 ]&nbsp;<br \/>\nTeilarray A<sub>3<\/sub> &nbsp;[ 9 ]&nbsp;<br \/>\nTeilarray A<sub>4<\/sub>&nbsp; [ 4 ]&nbsp;<br \/>\nTeilarray A<sub>5<\/sub> [ 17 ]&nbsp;<br \/>\nTeilarray A<sub>6<\/sub> [ 7 ]&nbsp;<br \/>\nTeilarray A<sub>7<\/sub> [ 15 ]&nbsp;<br \/>\nTeilarray A<span style=\"font-size: 13.3333px;\">8 <\/span>[ 11 ]&nbsp;<\/p>\n<hr>\n<h4>Conquer-Phase (Eroberungsphase)&nbsp;<\/h4>\n<p>Erster Merge:<br \/>\n1. Vergleich A<sub>1<\/sub>&nbsp;[ 13 ],&nbsp; A<sub>2<\/sub>[ 20 ]: 13 &lt; 20 &#8211;&gt; A<sub>1 <\/sub>[ <span style=\"color: #000000;\">13, 20<\/span> ]<br \/>\n2. Vergleich A<sub>3<\/sub> [ 9 ],&nbsp; A<sub>4<\/sub>[ 4 ]: 9 &gt; 4&nbsp; &#8211;&gt; A<sub>2 <\/sub>[ <span style=\"color: #000000;\">4, 9<\/span> ]<br \/>\n3. Vergleich A<sub>5<\/sub> [ 7 ],&nbsp; A<sub>6<\/sub>[ 17 ]: 7 &lt;&nbsp; 17 &#8211;&gt; A<sub>3 <\/sub>[ <span style=\"color: #000000;\">7, 17<\/span> ]<br \/>\n4. Vergleich A<sub>7<\/sub> [ 15 ],&nbsp; A<sub>8<\/sub>[ 11 ]: 15 &gt; 11 &#8211;&gt; A<sub>4 <\/sub>[ <span style=\"color: #000000;\">11, 15<\/span> ]<\/p>\n<p>Zweiter Merge:<br \/>\n1. Vergleich A<sub>1<\/sub> [<strong>13<\/strong>, 20 ],&nbsp; A<sub>2<\/sub>[<span style=\"color: #ff6600;\"><strong>4<\/strong>, 9<\/span> ]: 13 &gt; 4 &#8211;&gt; A<sub>1 <\/sub>[ 4 ]<br \/>\n2. Vergleich A<sub>1<\/sub> [ <span style=\"color: #000000;\"><strong>13<\/strong>, 20<\/span> ],&nbsp; A<sub>2<\/sub>[ <span style=\"color: #000000;\">4, <span style=\"color: #ff6600;\"><strong>9<\/strong><\/span><\/span> ]: 13 &gt; 9 &#8211;&gt; A<sub>1 <\/sub>[ 4, 9 ]<br \/>\n3. Vergleich A<sub>1<\/sub> [ <span style=\"color: #000000;\"><strong><span style=\"color: #ff6600;\">13<\/span><\/strong>, <strong>20<\/strong><\/span> ],&nbsp; A<sub>2<\/sub>[ <span style=\"color: #000000;\">4, 9<\/span> ]: 13 &lt; 20 &#8211;&gt; A<sub>1 <\/sub>[ 4, 9, 13 ]<br \/>\nRest&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;A<sub>1<\/sub> [ <span style=\"color: #000000;\">13, <span style=\"color: #ff6600;\"><strong>20<\/strong><\/span><\/span> ],&nbsp; A<sub>2<\/sub>[ <span style=\"color: #000000;\">4, 9<\/span> ]: 20 = 20&nbsp; &#8211;&gt; A<sub>1 <\/sub>[ 4, 9, 13, 20 ]<br \/>\n4. Vergleich A<sub>3<\/sub> [ <strong><span style=\"color: #ff6600;\">7<\/span><\/strong>, 17 ],&nbsp; A<sub>4<\/sub>[ <span style=\"color: #000000;\"><strong>11<\/strong><\/span>, 15 ]:&nbsp; &nbsp;7 &lt; 11 &#8211;&gt; A<sub>2 <\/sub>[ <span style=\"color: #000000;\">7<\/span>&nbsp;]<br \/>\n5. Vergleich A<sub>3<\/sub> [ <span style=\"color: #000000;\">7<\/span>, <strong><span style=\"color: #ff6600;\"><span style=\"color: #000000;\">17<\/span> <\/span><\/strong>],&nbsp; A<sub>4<\/sub>[ <span style=\"color: #ff6600;\"><strong>11<\/strong><\/span>, 15 ]: 17 &gt; 11 &#8211;&gt; A<sub>2 <\/sub>[ <span style=\"color: #000000;\">7, 11<\/span>&nbsp;]<br \/>\n6. Vergleich A<sub>3<\/sub> [ <span style=\"color: #000000;\">7<\/span>, <strong><span style=\"color: #ff6600;\"><span style=\"color: #000000;\">17<\/span> <\/span><\/strong>],&nbsp; A<sub>4<\/sub>[ <span style=\"color: #000000;\">11<\/span>, <span style=\"color: #ff6600;\"><strong>15<\/strong> <\/span>]: 15 &lt; 17 &#8211;&gt; A<sub>2 <\/sub>[ <span style=\"color: #000000;\">7, 11, 15<\/span>&nbsp;]<br \/>\nRest&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; A<sub>3<\/sub> [ <span style=\"color: #000000;\">7<\/span>, <strong><span style=\"color: #ff6600;\">17 <\/span><\/strong>],&nbsp; A<sub>4<\/sub>[ <span style=\"color: #000000;\">11<\/span>, 15 ]:&nbsp; 17 = 17 &#8211;&gt; A<sub>2 <\/sub>[ <span style=\"color: #000000;\">7, 11, 15, 17<\/span> ]&nbsp; &nbsp; &nbsp; &nbsp;<\/p>\n<p>Dritter Merge:<br \/>\n1. Vergleich A<sub>1<\/sub> [ <span style=\"color: #ff6600;\"><strong>4<\/strong><\/span>, 9, 13, 20 ], A<sub>2<\/sub> [ 7, 11, 15, 17 ]: 4 &lt; 7 &#8211;&gt; A<sub>&nbsp;<\/sub>[ 4 ]<br \/>\n2. Vergleich A<sub>1<\/sub> [ <strong>4<\/strong>, 9, 13, 20 ], A<sub>2<\/sub> [ <strong><span style=\"color: #ff6600;\">7<\/span><\/strong>, 11, 15, 17 ]: 4 &lt; 7 &#8211;&gt; A<sub>&nbsp;<\/sub>[ 4, 7 ]<br \/>\n3. Vergleich A<sub>1<\/sub> [ 4, <span style=\"color: #ff6600;\"><strong>9<\/strong><\/span>, 13, 20 ], A<sub>2<\/sub> [ 7, <strong>11<\/strong>, 15, 17 ]: 9 &lt; 11 &#8211;&gt; A<sub>&nbsp;<\/sub>[ 4, 7, 9 ]<br \/>\n4. Vergleich A<sub>1<\/sub> [ 4, 9, <strong>13<\/strong>, 20 ], A<sub>2<\/sub> [ 7, <strong><span style=\"color: #ff6600;\">11<\/span><\/strong>, 15, 17 ]: 11 &lt; 13 &#8211;&gt; A<sub>&nbsp;<\/sub>[ 4, 7, 9, 11 ]<br \/>\n5. Vergleich A<sub>1<\/sub> [ 4, 9, <span style=\"color: #ff6600;\"><strong>13<\/strong><\/span>, 20 ], A<sub>2<\/sub> [ 7, 11, <strong>15<\/strong>, 17 ]: 13 &lt; 15 &#8211;&gt; A<sub>&nbsp;<\/sub>[ 4, 7, 9, 11, 13 ]<br \/>\n6. Vergleich A<sub>1<\/sub> [ 4, 9, 13, 20 ], A<sub>2<\/sub> [ 7, 11, <strong><span style=\"color: #ff6600;\">15<\/span><\/strong>, <strong>17<\/strong> ]: 15 &lt; 17&nbsp; &#8211;&gt; A<sub>&nbsp;<\/sub>[ 4, 7, 9, 11, 13, 15 ]<br \/>\n7. Vergleich A<sub>1<\/sub> [ 4, 9, 13, <span style=\"color: #000000;\"><strong>20 <\/strong><\/span>], A<sub>2<\/sub> [ 7, 11, 15, <span style=\"color: #ff6600;\"><strong>17<\/strong> <\/span>]: 17 &lt; 20 &#8211;&gt; A<sub>&nbsp;<\/sub>[ 4, 7, 9, 11, 13, 15, 17 ]<br \/>\nRest&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; A<sub>1<\/sub> [ 4, 9, 13, <strong><span style=\"color: #ff6600;\">20<\/span> <\/strong>], A<sub>2<\/sub> [ 7, 11, 15, 17 ]:&nbsp; 20 = 20 &#8211;&gt; A<sub>&nbsp;<\/sub>[ 4, 7, 9, 11, 13, 15, 17, 20 ]<\/p>\n<hr>\n<h4>Output Array A <b>[ 4, 7, 9, 11, 13, 15, 17, 20 ]<\/b><\/h4>\n<p>Der Algorithmus terminiert nach drei Divide- und Conquer-Phasen und gibt das sortierte Array A [ 4, 7, 9, 11, 13, 15, 17, 20 ] aus. Insgesamt wurden in der Conquer-Phase 4 + 6 + 7 = 17 &nbsp; Vergleiche durchgef\u00fchrt.<\/p>\n<pre><b>**** Pseudocode MergeSort <strong>Top-Down<\/strong> A [13, 20, 9, 4, 17, 7, 15, 11] ****\r\n\r\ndef A [13, 20, 9, 4, 17, 7, 15, 11]\r\n\r\nMergeSort (A, left, right)          \r\n<\/b><b>    if left &lt; right then \r\n<\/b><b>         middle = <strong><span class=\"mopen\">\u230a (left + right) \/ 2<\/span><span class=\"mclose\">\u230b&nbsp;<\/span><\/strong> \r\n         MergeSort (A, left, middle) \r\n         MergeSort (A, middle + 1,right) \r\n      MergeSort () \r\nreturn A<\/b><\/pre>\n<hr>\n<h2>Beispiel 2:<\/h2>\n<h3>Merge-Sort-Algorithmus <strong>Bottom-Up f\u00fcr die <\/strong>Arrays A<sub>1<\/sub> bis A<sub>8<\/sub><\/h3>\n<p>Der Algorithmus f\u00fcgt die acht Arrays [ 13 ] [ 20 ] [ 9 ] [ 4 ] [ 17 ] &nbsp;[ 7 ] [ 15 ] [ 11 ] mit je einem Element (n = 1) von unten nach oben zu einem in aufsteigender Reihenfolge sortierten Array zusammen. Der Algorithmus f\u00fchrt in der Conquer-Phase <span class=\"base\"><span class=\"mord mathnormal\"><span class=\"base\" style=\"font-family: inherit; font-size: inherit;\"><span class=\"mop\">log<span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><sub><span class=\"vlist\"><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">2<\/span><\/span><\/span><\/sub><span class=\"vlist\"><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">(<\/span><\/span><\/span><span class=\"vlist-s\">\u200b<\/span><\/span><\/span><\/span><\/span>8) = <span class=\"katex\"><span class=\"katex-mathml\">3 Mergeschritte durch. In jedem Schritt vergleicht er die aktuellen Elemente mit dem Zwei-Zeiger-Verfahren und f\u00fcgt die sortierten Teilarrays schrittweise zu einem sortierten Array zusammen.<\/span><\/span><\/span><\/span><\/span><\/p>\n<p><b>Initialisierung<br \/>\n<\/b>A<sub>1<\/sub> [13]<br \/>\nA<sub>2<\/sub> [20]&nbsp;<br \/>\nA<sub>3<\/sub> [ 9 ]&nbsp;<br \/>\nA<sub>4<\/sub> [ 4 ]&nbsp;<br \/>\nA<sub>5<\/sub> [17]&nbsp;<br \/>\nA<sub>6<\/sub> [ 7 ]&nbsp;<br \/>\nA<sub>7<\/sub> [15]&nbsp;<br \/>\nA<sub>8<\/sub> [11]&nbsp;<br \/>\nleft&nbsp; = 0<br \/>\nright = A.lenght = 8<\/p>\n<hr>\n<p><strong>Conquer-Phase<\/strong><\/p>\n<p><strong>Dritter Merge<\/strong>&nbsp;<br \/>\n1. Vergleich A<sub>1<\/sub><sub>&nbsp;<\/sub>[<span style=\"color: #ff6600;\"><strong> 4<\/strong><\/span>, 9, 13, 20 ], A<sub>2 <\/sub>[ <strong>7<\/strong>, 11, 15, 17 ]: 4 &lt; 7 &#8211;&gt; A [ <strong><span style=\"color: #ff6600;\">4<\/span><\/strong>, <span style=\"color: #ff6600;\"><strong>7<\/strong> <\/span>]<br \/>\n2. Vergleich <sub>&nbsp;<\/sub>[<span style=\"color: #000000;\"> 4, <span style=\"color: #ff6600;\"><strong>9<\/strong><\/span><\/span>, 13, 20 ], [ <span style=\"color: #000000;\"><strong>7<\/strong><\/span>, 11, 15, 17 ]: 7 &lt; 9&nbsp; &#8211;&gt; A<sub>&nbsp;<\/sub>[ 4, 7, <strong><span style=\"color: #ff6600;\">9<\/span><\/strong> ]<sub>&nbsp;<\/sub><br \/>\n3. Vergleich <sub>&nbsp;<\/sub>[<span style=\"color: #000000;\"> 4, <span style=\"color: #ff6600;\"><strong>9<\/strong><\/span><\/span>, 13, 20 ], [ <span style=\"color: #000000;\">7<\/span>, <strong><span style=\"color: #000000;\">11<\/span><\/strong>, 15, 17 ]: 9 &lt; 11 &#8211;&gt; A<sub>&nbsp;<\/sub>[ 4, 7, 9, <strong><span style=\"color: #ff6600;\">11<\/span> <\/strong>]<br \/>\n4. Vergleich&nbsp; [<span style=\"color: #000000;\"> 4, 9<\/span>, <span style=\"color: #ff6600;\"><strong>13<\/strong><\/span>, 20 ], [ <span style=\"color: #000000;\">7<\/span>, <strong><span style=\"color: #000000;\">11<\/span><\/strong>, 15, 17 ]: 11 &lt; 13&nbsp; &#8211;&gt; A<sub>&nbsp;<\/sub>[ 4, 7, 9, 11, <span style=\"color: #ff6600;\"><strong>13<\/strong> <\/span>]<br \/>\n5. Vergleich&nbsp; [<span style=\"color: #000000;\"> 4, 9<\/span>, <span style=\"color: #ff6600;\"><strong>13<\/strong><\/span>, 20 ], [ <span style=\"color: #000000;\">7<\/span>, <span style=\"color: #000000;\">11<\/span>, <strong>15<\/strong>, 17 ]: 13 &lt; 15&nbsp; &#8211;&gt; A<sub>&nbsp;<\/sub>[ 4, 7, 9, 11, <span style=\"color: #ff6600;\"><span style=\"color: #000000;\">13, <\/span><strong>15<\/strong> <\/span>]<br \/>\n6. Vergleich&nbsp; [<span style=\"color: #000000;\"> 4, 9<\/span>, <span style=\"color: #ff6600;\"><strong>13<\/strong><\/span>, 20 ], [ <span style=\"color: #000000;\">7<\/span>, <span style=\"color: #000000;\">11<\/span>, 15, <strong>17<\/strong> ]:13 &lt; 17 &#8211;&gt; A<sub>&nbsp;<\/sub>[ 4, 7, 9, 11, <span style=\"color: #ff6600;\"><span style=\"color: #000000;\">13, 15, <strong><span style=\"color: #ff6600;\">17 <\/span><\/strong><\/span><\/span>]<br \/>\n7. Vergleich&nbsp; [<span style=\"color: #000000;\"> 4, 9<\/span>, <span style=\"color: #000000;\">13<\/span>, <span style=\"color: #ff6600;\"><strong>20<\/strong> <\/span>], [ <span style=\"color: #000000;\">7<\/span>, <span style=\"color: #000000;\">11<\/span>, 15, <strong>17<\/strong> ]: 20 &gt; 17 &#8211;&gt; A<sub>&nbsp;<\/sub>[ 4, 7, 9, 11, <span style=\"color: #ff6600;\"><span style=\"color: #000000;\">13, 15, 17, <span style=\"color: #ff6600;\"><strong>20<\/strong> <\/span><\/span><\/span>]<\/p>\n<p><strong>Zweiter Merge&nbsp;<br \/>\n<\/strong>1. Vergleich A<sub>1 <\/sub>[ <strong><span style=\"color: #ff6600;\">13<\/span><\/strong>, 20 ],&nbsp; A<sub>2<\/sub>[ <strong><span style=\"color: #000000;\">4<\/span><\/strong>, 9 ]:13 &gt; 4&nbsp; &#8211;&gt; A<sub>1 <\/sub>[ <strong><span style=\"color: #ff6600;\">4<\/span><\/strong>, <strong><span style=\"color: #ff6600;\">13<\/span><\/strong> ]<br \/>\n2. Vergleich A<sub>1 <\/sub>[ <strong><span style=\"color: #ff6600;\">13<\/span><\/strong>, 20 ],&nbsp; A<sub>2<\/sub>[ <span style=\"color: #000000;\">4<\/span>, <strong>9<\/strong> ]:13 &gt; 9&nbsp; &#8211;&gt; A<sub>1 <\/sub>[ 4, <strong><span style=\"color: #ff6600;\">9<\/span><\/strong>, 13 ]<br \/>\n3. Vergleich A<sub>1 <\/sub>[ <span style=\"color: #000000;\">13,<\/span> <strong><span style=\"color: #ff6600;\">20<\/span> <\/strong>],&nbsp; A<sub>2<\/sub>[ <span style=\"color: #000000;\">4<\/span>, <strong>9<\/strong> ]:20 &gt; 9&nbsp; &#8211;&gt; A<sub>1 <\/sub>[ 4, 9, 13, <span style=\"color: #ff6600;\"><strong>20<\/strong><\/span> ]<br \/>\n4. Vergleich A<sub>3 <\/sub>[ <strong><span style=\"color: #ff6600;\">7<\/span><\/strong>, 17 ], A<sub>4 <\/sub>[ <strong>11<\/strong>, 15 ]: 7 &lt; 11&nbsp; &#8211;&gt; A<sub>2 <\/sub>[ <strong><span style=\"color: #ff6600;\">7<\/span><\/strong>, <span style=\"color: #ff6600;\"><strong>11<\/strong> <\/span>]<br \/>\n5. Vergleich A<sub>3 <\/sub>[ <strong><span style=\"color: #ff6600;\">7<\/span><\/strong>, 17 ], A<sub>4 <\/sub>[ 11, <strong>15<\/strong> ]: 7 &lt; 15&nbsp; &#8211;&gt; A<sub>2 <\/sub>[ 7, 11, <strong><span style=\"color: #ff6600;\">15<\/span> <\/strong>]<br \/>\n6. Vergleich A<sub>3 <\/sub>[ <span style=\"color: #000000;\">7<\/span>, <strong><span style=\"color: #ff6600;\">17<\/span> <\/strong>], A<sub>4 <\/sub>[ <strong>11<\/strong>, 15 ]: 17 &gt; 15&nbsp; &#8211;&gt; A<sub>2 <\/sub>[ 7, 11, 15, <strong><span style=\"color: #ff6600;\">17<\/span><\/strong> ]<\/p>\n<p><strong>Erster Merge&nbsp;<br \/>\n<\/strong>1. Vergleich A<sub>1<\/sub> [ 13 ],&nbsp; A<sub>2<\/sub> [ 20 ]:13 &lt; 20 &#8211;&gt; A<sub>1 <\/sub>[ 13, 20 ]<strong><br \/>\n<\/strong>2. Vergleich A<sub>3<\/sub> [ 9 ], A<sub>4<\/sub> [ 4 ]: 9 &gt; 4&nbsp; &#8211;&gt; A<sub>2 <\/sub>[ 4, 9 ]<br \/>\n3. Vergleich A<sub>5<\/sub> [ 17 ], A<sub>6<\/sub> [ 7 ]:17 &gt; 7 &#8211;&gt; A<sub>3 <\/sub>[ 7, 17 ]<br \/>\n4. Vergleich A<sub>7<\/sub> [ 15 ], A<sub>8<\/sub> [ 11 ]: 15 &gt; 11 &#8211;&gt; A<sub>4 <\/sub>[ 11, 15 ]&nbsp; &nbsp;&nbsp;<\/p>\n<hr>\n<p><strong>Output: <\/strong>Array A [ 4, 7, 9, 11, 13, 15, 17, 20 ]<\/p>\n<p>Der Algorithmus terminiert nach drei Divide- und drei Conquer-Phasen und gibt das sortierte Array A [ 4, 7, 9, 11, 13, 15, 17, 20 ] <span style=\"color: #000000;\">&nbsp;<\/span>aus. Insgesamt hat er 7 + 6 + 4 <span class=\"base\"><span class=\"mord mathnormal\"><span class=\"base\" style=\"font-family: inherit; font-size: inherit;\"><span class=\"katex\"><span class=\"katex-mathml\">= 17 <\/span><\/span><\/span><\/span><\/span>Vergleiche vorgenommen.<\/p>\n<pre><b>******** Pseudocode MergeSort <\/b><strong>Botton-Up<\/strong> <b>********* \r\n\r\nInput: \r\nA<sub>1<\/sub> [13]\r\n<\/b><b>A<sub>2<\/sub> [20]\r\n<\/b><b>A<sub>3<\/sub> [9]\r\nA<sub>4<\/sub> [4]\r\nA<sub>5<\/sub> [17]\r\nA<sub>6<\/sub> [7]\r\nA<sub>7<\/sub> [15]\r\nA<sub>8<\/sub> [11]<\/b><b>\r\n\r\n<\/b><b>MergeSort (A<sub>1<\/sub>,A<sub>2<\/sub>,A<sub>3,<\/sub>A<sub>4,<\/sub>A<sub>5<\/sub>,A<sub>6<\/sub>,A<sub>7<\/sub>,A<sub>8<\/sub>)\r\n   def size = 1<\/b><b>              \r\n   def left = 0\r\n   def n = A.length\r\n<\/b><b>   while size &lt; n do\r\n      for left = 0 to n mit Schritt 2 \u22c5 size do\r\n         middle = left + size - 1          \r\n         right = min(left + 2 \u22c5 size - 1, n - 1)      \r\n         MergeSort (A, left, middle, right)  \r\n      size = size \u22c5 2                   <\/b><b>\r\n<\/b><b>return A<\/b><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Merge-Sort ist ein Sortieralgorithmus, der eine Liste (Array) in kleinere Teillisten aufteilt, diese sortiert und wieder zusammenf\u00fchrt. Beim Top-Down-Merge-Sort wird das Array nach dem Teile&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/maximini.eu\/work\/merge-sort\/\">weiterlesen<span class=\"screen-reader-text\">Merge-Sort<\/span><\/a><\/div>\n","protected":false},"author":1,"featured_media":4021,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[94,35],"tags":[104,102],"class_list":["post-4017","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-algorithmen","category-informatik","tag-merge-sort","tag-sortieralgorithmus","entry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Merge-Sort - Katja Maximini | work<\/title>\n<meta name=\"description\" content=\"Merge-Sort ist ein Sortieralgorithmus, der eine Liste (Array) in kleinere Teillisten aufteilt, diese sortiert und wieder zusammenf\u00fchrt.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/maximini.eu\/work\/merge-sort\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Merge-Sort - Katja Maximini | work\" \/>\n<meta property=\"og:url\" content=\"https:\/\/maximini.eu\/work\/merge-sort\/\" \/>\n<meta property=\"og:site_name\" content=\"Katja Maximini | work\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-16T17:17:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-01T12:18:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/maximini.eu\/work\/wp-content\/uploads\/sites\/4\/2025\/03\/HeaderMergeSort.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"872\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Katja Maximini\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Katja Maximini\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"10\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/merge-sort\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/merge-sort\\\/\"},\"author\":{\"name\":\"Katja Maximini\",\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/#\\\/schema\\\/person\\\/e5568f683596440f38d468287e995bd5\"},\"headline\":\"Merge-Sort\",\"datePublished\":\"2025-03-16T17:17:49+00:00\",\"dateModified\":\"2026-04-01T12:18:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/merge-sort\\\/\"},\"wordCount\":1114,\"publisher\":{\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/#\\\/schema\\\/person\\\/e5568f683596440f38d468287e995bd5\"},\"image\":{\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/merge-sort\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/maximini.eu\\\/work\\\/wp-content\\\/uploads\\\/sites\\\/4\\\/2025\\\/03\\\/HeaderMergeSort.png\",\"keywords\":[\"Merge-Sort\",\"Sortieralgorithmus\"],\"articleSection\":[\"Algorithmen\",\"Informatik\"],\"inLanguage\":\"de\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/merge-sort\\\/\",\"url\":\"https:\\\/\\\/maximini.eu\\\/work\\\/merge-sort\\\/\",\"name\":\"Merge-Sort - Katja Maximini | work\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/merge-sort\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/merge-sort\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/maximini.eu\\\/work\\\/wp-content\\\/uploads\\\/sites\\\/4\\\/2025\\\/03\\\/HeaderMergeSort.png\",\"datePublished\":\"2025-03-16T17:17:49+00:00\",\"dateModified\":\"2026-04-01T12:18:45+00:00\",\"description\":\"Merge-Sort ist ein Sortieralgorithmus, der eine Liste (Array) in kleinere Teillisten aufteilt, diese sortiert und wieder zusammenf\u00fchrt.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/merge-sort\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/maximini.eu\\\/work\\\/merge-sort\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/merge-sort\\\/#primaryimage\",\"url\":\"https:\\\/\\\/maximini.eu\\\/work\\\/wp-content\\\/uploads\\\/sites\\\/4\\\/2025\\\/03\\\/HeaderMergeSort.png\",\"contentUrl\":\"https:\\\/\\\/maximini.eu\\\/work\\\/wp-content\\\/uploads\\\/sites\\\/4\\\/2025\\\/03\\\/HeaderMergeSort.png\",\"width\":1920,\"height\":872,\"caption\":\"MergeSort Algorithmus\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/merge-sort\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/maximini.eu\\\/work\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Merge-Sort\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/#website\",\"url\":\"https:\\\/\\\/maximini.eu\\\/work\\\/\",\"name\":\"Katja Maximini | work\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/#\\\/schema\\\/person\\\/e5568f683596440f38d468287e995bd5\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/maximini.eu\\\/work\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/#\\\/schema\\\/person\\\/e5568f683596440f38d468287e995bd5\",\"name\":\"Katja Maximini\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6b71fa48f76dd3fbb2952f49b5f639da2f333317ec371c541b72bdb7b3ebc4f8?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6b71fa48f76dd3fbb2952f49b5f639da2f333317ec371c541b72bdb7b3ebc4f8?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6b71fa48f76dd3fbb2952f49b5f639da2f333317ec371c541b72bdb7b3ebc4f8?s=96&r=g\",\"caption\":\"Katja Maximini\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6b71fa48f76dd3fbb2952f49b5f639da2f333317ec371c541b72bdb7b3ebc4f8?s=96&r=g\"},\"sameAs\":[\"https:\\\/\\\/www.maximini.eu\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/katja-maximini-68032566\\\/\"],\"url\":\"https:\\\/\\\/maximini.eu\\\/work\\\/author\\\/katja\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Merge-Sort - Katja Maximini | work","description":"Merge-Sort ist ein Sortieralgorithmus, der eine Liste (Array) in kleinere Teillisten aufteilt, diese sortiert und wieder zusammenf\u00fchrt.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/maximini.eu\/work\/merge-sort\/","og_locale":"de_DE","og_type":"article","og_title":"Merge-Sort - Katja Maximini | work","og_url":"https:\/\/maximini.eu\/work\/merge-sort\/","og_site_name":"Katja Maximini | work","article_published_time":"2025-03-16T17:17:49+00:00","article_modified_time":"2026-04-01T12:18:45+00:00","og_image":[{"width":1920,"height":872,"url":"https:\/\/maximini.eu\/work\/wp-content\/uploads\/sites\/4\/2025\/03\/HeaderMergeSort.png","type":"image\/png"}],"author":"Katja Maximini","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Katja Maximini","Gesch\u00e4tzte Lesezeit":"10\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/maximini.eu\/work\/merge-sort\/#article","isPartOf":{"@id":"https:\/\/maximini.eu\/work\/merge-sort\/"},"author":{"name":"Katja Maximini","@id":"https:\/\/maximini.eu\/work\/#\/schema\/person\/e5568f683596440f38d468287e995bd5"},"headline":"Merge-Sort","datePublished":"2025-03-16T17:17:49+00:00","dateModified":"2026-04-01T12:18:45+00:00","mainEntityOfPage":{"@id":"https:\/\/maximini.eu\/work\/merge-sort\/"},"wordCount":1114,"publisher":{"@id":"https:\/\/maximini.eu\/work\/#\/schema\/person\/e5568f683596440f38d468287e995bd5"},"image":{"@id":"https:\/\/maximini.eu\/work\/merge-sort\/#primaryimage"},"thumbnailUrl":"https:\/\/maximini.eu\/work\/wp-content\/uploads\/sites\/4\/2025\/03\/HeaderMergeSort.png","keywords":["Merge-Sort","Sortieralgorithmus"],"articleSection":["Algorithmen","Informatik"],"inLanguage":"de"},{"@type":"WebPage","@id":"https:\/\/maximini.eu\/work\/merge-sort\/","url":"https:\/\/maximini.eu\/work\/merge-sort\/","name":"Merge-Sort - Katja Maximini | work","isPartOf":{"@id":"https:\/\/maximini.eu\/work\/#website"},"primaryImageOfPage":{"@id":"https:\/\/maximini.eu\/work\/merge-sort\/#primaryimage"},"image":{"@id":"https:\/\/maximini.eu\/work\/merge-sort\/#primaryimage"},"thumbnailUrl":"https:\/\/maximini.eu\/work\/wp-content\/uploads\/sites\/4\/2025\/03\/HeaderMergeSort.png","datePublished":"2025-03-16T17:17:49+00:00","dateModified":"2026-04-01T12:18:45+00:00","description":"Merge-Sort ist ein Sortieralgorithmus, der eine Liste (Array) in kleinere Teillisten aufteilt, diese sortiert und wieder zusammenf\u00fchrt.","breadcrumb":{"@id":"https:\/\/maximini.eu\/work\/merge-sort\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/maximini.eu\/work\/merge-sort\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/maximini.eu\/work\/merge-sort\/#primaryimage","url":"https:\/\/maximini.eu\/work\/wp-content\/uploads\/sites\/4\/2025\/03\/HeaderMergeSort.png","contentUrl":"https:\/\/maximini.eu\/work\/wp-content\/uploads\/sites\/4\/2025\/03\/HeaderMergeSort.png","width":1920,"height":872,"caption":"MergeSort Algorithmus"},{"@type":"BreadcrumbList","@id":"https:\/\/maximini.eu\/work\/merge-sort\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/maximini.eu\/work\/"},{"@type":"ListItem","position":2,"name":"Merge-Sort"}]},{"@type":"WebSite","@id":"https:\/\/maximini.eu\/work\/#website","url":"https:\/\/maximini.eu\/work\/","name":"Katja Maximini | work","description":"","publisher":{"@id":"https:\/\/maximini.eu\/work\/#\/schema\/person\/e5568f683596440f38d468287e995bd5"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/maximini.eu\/work\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":["Person","Organization"],"@id":"https:\/\/maximini.eu\/work\/#\/schema\/person\/e5568f683596440f38d468287e995bd5","name":"Katja Maximini","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/6b71fa48f76dd3fbb2952f49b5f639da2f333317ec371c541b72bdb7b3ebc4f8?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/6b71fa48f76dd3fbb2952f49b5f639da2f333317ec371c541b72bdb7b3ebc4f8?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6b71fa48f76dd3fbb2952f49b5f639da2f333317ec371c541b72bdb7b3ebc4f8?s=96&r=g","caption":"Katja Maximini"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/6b71fa48f76dd3fbb2952f49b5f639da2f333317ec371c541b72bdb7b3ebc4f8?s=96&r=g"},"sameAs":["https:\/\/www.maximini.eu","https:\/\/www.linkedin.com\/in\/katja-maximini-68032566\/"],"url":"https:\/\/maximini.eu\/work\/author\/katja\/"}]}},"_links":{"self":[{"href":"https:\/\/maximini.eu\/work\/wp-json\/wp\/v2\/posts\/4017","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/maximini.eu\/work\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/maximini.eu\/work\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/maximini.eu\/work\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/maximini.eu\/work\/wp-json\/wp\/v2\/comments?post=4017"}],"version-history":[{"count":28,"href":"https:\/\/maximini.eu\/work\/wp-json\/wp\/v2\/posts\/4017\/revisions"}],"predecessor-version":[{"id":4357,"href":"https:\/\/maximini.eu\/work\/wp-json\/wp\/v2\/posts\/4017\/revisions\/4357"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/maximini.eu\/work\/wp-json\/wp\/v2\/media\/4021"}],"wp:attachment":[{"href":"https:\/\/maximini.eu\/work\/wp-json\/wp\/v2\/media?parent=4017"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/maximini.eu\/work\/wp-json\/wp\/v2\/categories?post=4017"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/maximini.eu\/work\/wp-json\/wp\/v2\/tags?post=4017"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}