Diskussion:Bubblesort

message: Dieser Vorgang wird solange wiederholt, bis keine Vertauschungen mehr nötig sind. Hierzu sind in der Regel mehrere Durchläufe erforderlich.
Die "dumme" Variante von BubbleSort durchläuft das Feld auch dann weiter, wenn eigentlich keine Durchläufe mehr erforderlich sind, weil das Feld schon sortiert ist. Die verbesserte Variante mit Abbruchbedingung wird erst im Abschnitt "Varianten" angesprochen. --Head 11:34, 1. Sep 2003 (CEST)
thread_title:  Variante mit Abbruchbedingung 

message: Macht es wirklich Sinn, hier 16 Beispiele in verschiedenen Programmiersprachen anzugeben? Ich würde denken, das widerspricht dem Sinn einer Enzyklopädie. M.E. sollte hier nur der Pseudocode (und ganz evtl. noch ein Beispiel (die Sprache könnt ihr euch aussuchen)) stehen.
MfG Michael K 16:18, 9. Jan. 2007 (CET)
thread_title:  Beispiele 

message: die Stelle widerspricht sich selbst.
Nein, widerspricht sich nicht, da steht das kleine Wörtchen kann davor. Bubblesort dauert immer gleich lang, es sei denn, wir haben eine Abbruchbedingung. Beim Shakersort KANN durch die in beide Richtungen verlaufende Sortierung der Vorgang schneller erfolgen, weil nicht so viel Vertauschungen nötig sind - siehe Extremfall absteigende Sortierung -> aufsteigende Sortierung, bei der die Sortierung schon nach n/2 Durchläufen erledigt ist. 13:57, 19. Feb. 2007 (CET)
thread_title:  nicht besser, dennoch schneller? 

message: Die Variablenbezeichnung (AArray) ist nicht besonders gelungen und erschwert das Verständnis. Außerdem handelt es sich hier schon um eine der Varianten und nicht um reines Bubblesort (das nicht überprüft, ob das Feld vielleicht schon eher fertig sortiert ist)
Deswegen hier mein Vorschlag für eine simple Pascal-Implementation (weiß nicht ob ich es gleich auf der Hauptseite ändern soll):
  const SIZE = 20000;
  type TFeld = array[1..SIZE] of integer;
  
  procedure bubblesort(var f:TFeld);
  var i,j,temp:integer;
  begin
      for i:=SIZE downto 2 do begin
          for j:=2 to i do begin
              if f[j-1] > f[j] then begin
                  temp := f[j-1];
                  f[j-1] := f[j];
                  f[j] := temp;
              end;
          end;
      end;
  end;
Antwort: Der Variablenname war wirklich Grütze, änder es ruhig. Ich würde noch die zwei überflüssigen begin/end Streichen, Merke: überflüssiger Formalismus verwirrt mehr, als dass er nützt. igel+- 18:26, 25. Jul 2006 (CEST)
thread_title:  Implementation Pascal/Delphi 

message: Wäre es nicht sinnvoll auch ein Beispiel für C# mit einzufügen? (unsigniert)
:Ich hab grad das folgende Zitat aus dem Artikel entfernt. Zum einen handelt es sich nicht um einen Bubblesort, weil keine Prüfung stattfindet, zum anderen wird der Artikel m.E. durch die Implementierungen überfrachtet. --Lexikorn 20:17, 3. Aug. 2009 (CEST)
replies: text: fuer massenhaft expliziten code haben wir ja mittlerweile ein buch auf wikibooks; ist auf der artikelseite verlinkt. -- seth 23:10, 4. Aug. 2009 (CEST)
thread_title:  c# 

message: Warum ist die Seite gesperrt. 
Ich finde ein Link auf das Programm Animierte Algorithmen fehlt( Wieso funzt das speichern mit links unter Firefox nicht mehr ? )
--217.184.239.173 16:21, 14. Jan. 2007 (CET)
thread_title: Was soll die Sperrung

message: Der durchschnittliche Sortieraufwand sollte berechnet werden (bei angenommener Gleichverteilung der Größen der zu sortierenden Elemente auf ... tja, auf was? auf {1,...,n} vielleicht. igel+- 00:13, 14. Mär. 2007 (CET)
replies: text: Meinst Du einfache average-case-Analyse, wie hier? --Complex обс. 00:18, 14. Mär. 2007 (CET)
replies: text: ja, genau ... igel+- 00:42, 14. Mär. 2007 (CET)
thread_title: Was man (ich) noch tun könnte

message: Habe eben schon eine kleine Änderung vorgenommen, da ich den Pseudocode wirklich vollkommen verwirrend fand mit "falls ende"... Da dürfte man auch sehr gerne for oder if zu sagen.. (nicht signierter Beitrag von 129.132.211.17 (Diskussion | Beiträge) 10:30, 13. Aug. 2009 (CEST)
thread_title:  Pseudocode 

message: Ist Turtles and Rabbits wirklich ein üblicher Begriff um die entsprechenden Elemente zu kategorisieren? Liest sich ja etwas albern. Ich befürchte, dass die einzige Verwendung (neben den Wikipedia-Artikeln) und die Quelle davon dieser Byte Magazine Artikel von 1991 ist.
—
Der Abschnitt über schnell bzw. langsam 'wandernde' Elemente ist ja sinnvoll im WP-Artikel - aber vielleicht sollte man ihn überarbeiten um die Hasen/Schildkröten-Analogie zu vermeiden ...
--Gms 00:33, 22. Feb. 2012 (CET)
thread_title:  Hasen und Schildkröten — rly? 

message: Ich habe soeben den einfachen Bubble-Sort (ohne besondere Abbruchbedingung bei bereits sortiertem Array) in Java programmiert und in einer Testreihe zu meinem Erstaunen festgestellt, dass das umgekehrte Array nur etwa 10% mehr Sortierzeit als das sortierte Array und das zufällig besetzte Array mehr als 4-mal soviel benötigt. Nach erfolgloser Fehlersuche kann ich mir das nur so erklären, dass hier automatische Techniken zur  Sprung- und Sprungzielvorhersage (Intel Core-i7) zum Tragen kommen. Muss man sowas bei Laufzeitberechnungen zukünftig mit einkalkulieren? Ist jedenfalls blöd für den Informatik-Unterricht, wenn Theorie und Praxis so offensichtlich auseinanderlaufen. --188.101.235.178 22:57, 17. Apr. 2013 (CEST)
replies: text: Sehr seltsam, aber weißt Du denn, was Deine Java-VM so im Hintergrund macht? Da hast Du z.B. einen Just-In-Time-Compiler und evtl. auch Profiler, die von Lauf zu Lauf optimieren etz. Ich würde dafür eine vernünftig vor der laufzeit compilierte Sprache (C/C++, Pascal, oder Java mit 'nem richtigen Compiler, also ohne Bytecode!!!) verwenden, bei Allem Anderen gibt's Seiteneffekte, die man nicht kennt und nur schwer fassen kann. --Jkrieger (Diskussion) 23:25, 17. Apr. 2013 (CEST)
thread_title:  Laufzeitverhalten auf modernen Rechnern 

message: ich weiss ich weiss: "noch eine Implementierung!?" Ich fand die Aufgabenstellung interessant, also hier in rekursiv.
public List<Integer> sort(List<Integer> numbers) {
		bubbleSort(numbers, 0, 1);
		return numbers;
	}
	private void bubbleSort(List<Integer> numbers, Integer position, Integer runs) {
		if (position < numbers.size() - runs) {
			// pick two
			Integer a = numbers.get(position);
			Integer b = numbers.get(position + 1);
			// place back
			numbers.set(position, a >= b ? b : a);
			numbers.set(position + 1,  a >= b ? a : b);
			// next step
			position++;
		} else {
			// start over
			position = 0;
			runs++;
		}
		if (runs < numbers.size())
			bubbleSort(numbers, position, runs);
	} (nicht signierter Beitrag von 208.49.239.230 (Diskussion) 21:40, 25. Jun. 2013 (CEST)
thread_title:  Rekursive Implementierung 

message: Diesen Satz halte ich für sehr fraglich. Komplexere Sortierverfahren lohnen sich erst ab einer bestimmten Schwelle, beispielsweie 100 oder 1000. Es gibt daher eine Menge Anwendungen bei denen Bubblesort das geeignete Mittel ist, beispielsweise Sortieren von Tabellen auf Webseiten, Radiosender im Autoradio, Lesezeichen im Browser ... 
Die Aussage bezieht sich vermutlich auf vorgefertigte Software-Packages wie sort (Unix). --Siehe-auch-Löscher (Diskussion) 06:29, 24. Nov. 2015 (CET)
thread_title:  In der Praxis wird Bubblesort kaum eingesetzt, da andere Verfahren ein besseres Laufzeitverhalten haben. 

message: Folgenden Code habe ich hiermit in der Schreibweise des C64 zur Verfügung gestellt. Ich denke dass es so besser verständlich ist. In diesem Fall wird der Algorithmus mit "GOSUB 1010" als Unterprogramm gestartet.
N = Anzahl der zu sortierenden Zahlen
A(...) = Das Array
1000 REM **** BUBBLE-SORT ****
1010 IF N<2 THEN RETURN
1020 FOR I=1 TO N-1
1030 IF A(I)>A(I+1) THEN GOTO 1060
1040 NEXT I
1050 RETURN
1060 FOR IB=I TO N-1
1070 IF A(IB)<=A(IB+1) THEN GOTO 1110
1080 C=A(IB)
1090 A(IB)=A(IB+1)
1100 A(IB+1)=C
1110 NEXT IB
1120 GOTO 1020
--77.21.163.85 02:55, 25. Nov. 2020 (CET)
thread_title:  Gruß vom C64 

message: Ich habe mir erlaubt einen Fehler zu beheben. Im Artikel stand als Beispiel, dass bei 99 zu sortierenden Werten L=0 / R=99 gesetzt werden muss. Diese falsche Aussage hat mich heute sehr viel Nerven gekostet, weil ich nicht verstanden habe, warum meine Übersetzung nach Visual Basic immer dann nicht funktioniert hat, wenn sich hinter den zu sortierenden Werten, eine Null im Array befindet. Bei 99 Werten muss R=98 lauten. --77.21.163.85 23:33, 30. Mai 2021 (CEST)
thread_title:  "Hasen und Schildkröten" - Fehler behoben