<?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=Combsort</id>
	<title>Combsort - 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=Combsort"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Combsort&amp;action=history"/>
	<updated>2026-05-27T16:52:08Z</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=Combsort&amp;diff=310129&amp;oldid=prev</id>
		<title>imported&gt;SchlurcherBot: Bot: http → https</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Combsort&amp;diff=310129&amp;oldid=prev"/>
		<updated>2025-10-26T12:52:24Z</updated>

		<summary type="html">&lt;p&gt;Bot: http → https&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Datei:Comb sort demo.gif|mini|300px|Sortierung eines Feldes von 33 Elementen mittels Combsort.]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Combsort&amp;#039;&amp;#039;&amp;#039; (von {{enS|comb}}, Kamm) ist ein im April 1991 im &amp;#039;&amp;#039;BYTE magazine&amp;#039;&amp;#039; von S. Lacey und R. Box vorgestellter, vom [[Bubblesort]] abgeleiteter, [[Stabilität (Sortierverfahren)|nicht-stabiler]] [[In-place]]-[[Sortierverfahren|Sortieralgorithmus]], der eine Folge linear angeordneter Elemente (z.&amp;amp;nbsp;B. Zahlen, Alphabete) einem Vergleichskriterium (z.&amp;amp;nbsp;B. der Größe) nach anordnet.&lt;br /&gt;
&lt;br /&gt;
== Prinzip ==&lt;br /&gt;
Anders als Bubblesort, der nur jeweils benachbarte Elemente vergleicht und ggf.&lt;br /&gt;
vertauscht, beginnt Combsort zunächst mit weit auseinanderliegenden Elementen (engl.&amp;amp;nbsp;&amp;#039;&amp;#039;Gap&amp;#039;&amp;#039;&amp;amp;nbsp;=&amp;amp;nbsp;Lücke).&lt;br /&gt;
Dadurch finden grob falsch sortierte Elemente schneller ihre Zielposition. Nach jedem Durchlauf&lt;br /&gt;
wird die Lücke mit Division durch 1,3 verkleinert und der Vorgang wiederholt.&lt;br /&gt;
Durch diesen [[Empirie|empirisch]] gefundenen krummen Divisor wird erreicht, dass sich angrenzende Bereiche in aufeinanderfolgenden Durchläufen stets überlappen und keine [[Cluster (Datenanalyse)|Cluster]] bilden, die erst in späteren Durchläufen aufgelöst würden.&lt;br /&gt;
&lt;br /&gt;
Der Algorithmus endet, wenn mindestens ein Durchlauf mit &amp;#039;&amp;#039;Gap&amp;#039;&amp;#039;&amp;amp;nbsp;=1 erfolgt und keine Vertauschung mehr stattgefunden hat.&lt;br /&gt;
&lt;br /&gt;
Bei diesem Endwert &amp;#039;&amp;#039;Gap&amp;#039;&amp;#039;&amp;amp;nbsp;=1 ist er am Ende praktisch identisch mit dem Bubblesort, und die Richtigkeit der Sortierung ist bewiesen.&lt;br /&gt;
&lt;br /&gt;
Zum Namen: Das zu sortierende Feld wird quasi wie mit einem Kamm ({{enS|comb}}) mit immer dichter werdenden Zähnen durchgekämmt.&lt;br /&gt;
&lt;br /&gt;
Combsort ähnelt dem auf [[Insertionsort]] basierenden [[Shellsort]].&lt;br /&gt;
&lt;br /&gt;
== Komplexität ==&lt;br /&gt;
Die Komplexität liegt je nach Ausgangssituation zwischen &amp;lt;math&amp;gt; \mathcal{O}(n^2) &amp;lt;/math&amp;gt; ([[Zeitkomplexität|Worst-Case]]) und &amp;lt;math&amp;gt; \mathcal{O}(n \log (n)) &amp;lt;/math&amp;gt; (Best-Case).&lt;br /&gt;
&lt;br /&gt;
Im Best-Case ist die Liste der zu sortierenden Elemente geordnet, sobald die Schrittlänge 1 beträgt.&lt;br /&gt;
&lt;br /&gt;
Im Worst-Case müssen alle benachbarten Elemente nochmals getauscht werden (mehrere Durchgänge mit Schrittlänge 1). In diesem Fall ist Combsort nicht schneller als [[Bubblesort]].&lt;br /&gt;
&lt;br /&gt;
Der Avg. Case ist &amp;lt;math&amp;gt; \mathcal{O}(n^2) &amp;lt;/math&amp;gt;, analog zu Bubblesort.&lt;br /&gt;
&lt;br /&gt;
== Formaler Algorithmus ==&lt;br /&gt;
Im [[Pseudocode]] sieht der CombSort-[[Algorithmus]] so aus:&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;prozedur&amp;#039;&amp;#039;&amp;#039; combSort ( A: Liste sortierbarer Elemente )&lt;br /&gt;
   schritt:= Länge ( A )&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;wiederhole&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
      vertauscht:= falsch&lt;br /&gt;
      &amp;#039;&amp;#039;&amp;#039;für jedes&amp;#039;&amp;#039;&amp;#039; i &amp;#039;&amp;#039;&amp;#039;von&amp;#039;&amp;#039;&amp;#039; 0 &amp;#039;&amp;#039;&amp;#039;bis&amp;#039;&amp;#039;&amp;#039; (Länge ( A ) - schritt) &amp;#039;&amp;#039;&amp;#039;wiederhole&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
         &amp;#039;&amp;#039;&amp;#039;falls&amp;#039;&amp;#039;&amp;#039; ( A[ i ] &amp;gt; A[i + schritt]) &amp;#039;&amp;#039;&amp;#039;dann&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
            vertausche ( A [ i ], A [ i + schritt ] )&lt;br /&gt;
            vertauscht:= wahr&lt;br /&gt;
         &amp;#039;&amp;#039;&amp;#039;falls ende&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
      &amp;#039;&amp;#039;&amp;#039;für ende&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
      &amp;#039;&amp;#039;&amp;#039;falls&amp;#039;&amp;#039;&amp;#039; (schritt &amp;gt; 1) &amp;#039;&amp;#039;&amp;#039;dann&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
            schritt:= Ganzzahl ( schritt/1.3 )&lt;br /&gt;
            vertauscht := wahr&lt;br /&gt;
      &amp;#039;&amp;#039;&amp;#039;falls ende&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;solange&amp;#039;&amp;#039;&amp;#039; (vertauscht == wahr &amp;#039;&amp;#039;&amp;#039;oder&amp;#039;&amp;#039;&amp;#039; schritt &amp;gt; 1)&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;prozedur ende&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Stephen Lacey, Richard Box&lt;br /&gt;
   |Titel=A Fast Easy Sort&lt;br /&gt;
   |Sammelwerk=Byte Magazine&lt;br /&gt;
   |Datum=1991-04&lt;br /&gt;
   |Online=[http://cs.clackamas.cc.or.us/molatore/cs260Spr03/combsort.htm cs.clackamas.cc.or.us]}}&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Wlodzimierz Dobosiewicz&lt;br /&gt;
   |Titel=An efficient variation of bubble sort&lt;br /&gt;
   |Sammelwerk=Information Processing Letters&lt;br /&gt;
   |Band=11&lt;br /&gt;
   |Nummer=1&lt;br /&gt;
   |Datum=1980&lt;br /&gt;
   |Seiten=5–6&lt;br /&gt;
   |DOI=10.1016/0020-0190(80)90022-8}}&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
{{Commonscat|Sort algorithms|Sortieralgorithmen}}&lt;br /&gt;
{{Wikibooks|Algorithmensammlung: Sortierverfahren: Combsort|Combsort|suffix=Implementierungen in der Algorithmensammlung}}&lt;br /&gt;
* {{Webarchiv |url=http://objectz.com/columnists/leif/07242000.htm |text=Combsort |wayback=20050419014554}} bei &amp;#039;&amp;#039;Computer Science for the COBOL Community&amp;#039;&amp;#039;&lt;br /&gt;
* [https://www.sortieralgorithmen.de/combsort Combsort] bei sortieralgorithmen.de&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Sortieralgorithmus]]&lt;/div&gt;</summary>
		<author><name>imported&gt;SchlurcherBot</name></author>
	</entry>
</feed>