Bubble Sort – Drei Varianten im Vergleich

Bubble Sort – Drei Varianten im Vergleich

Sortieralgorithmen sind mehr als technische Werkzeuge – sie sind Denkbewegungen mit Struktur. Hier werden drei Varianten des Bubble Sort vorgestellt, jeweils mit Pseudocode und didaktischer Reflexion.

🔁 1. Standardversion

function bubbleSortStandard(feld) { for (i = 0; i < feld.length; i++) { for (j = 0; j < feld.length - 1; j++) { if (feld[j] > feld[j + 1]) { temp = feld[j]; feld[j] = feld[j + 1]; feld[j + 1] = temp; Output("Tausch bei Position " + j); } } } }

🧠 2. Optimierte Version mit Merker

function bubbleSortMitMerkung(feld) { do { merker = false; for (i = 0; i < feld.length - 1; i++) { if (feld[i] > feld[i + 1]) { temp = feld[i]; feld[i] = feld[i + 1]; feld[i + 1] = temp; merker = true; Output("Tausch bei Position " + i); // beim Abtauchen } } Output("Durchlauf beendet – Merker: " + merker); // beim Auftauchen } while (merker == true); Output("Feld ist durchsortiert."); }

⚡ 3. Kombinierte Version mit Merker und Bereichsverkürzung

function bubbleSortKombiniert(feld) { n = feld.length; do { merker = false; for (i = 0; i < n - 1; i++) { if (feld[i] > feld[i + 1]) { temp = feld[i]; feld[i] = feld[i + 1]; feld[i + 1] = temp; merker = true; Output("Tausch bei Position " + i); // beim Abtauchen } } Output("Durchlauf beendet – Merker: " + merker + ", Grenze: " + n); // beim Auftauchen n = n - 1; } while (merker == true); Output("Feld ist durchsortiert."); }

📊 Vergleich der Varianten

Variante Vorteile Nachteile
Standard Einfach zu verstehen; konstante Struktur Viele unnötige Durchläufe; ineffizient bei sortierten Feldern
Mit Merker Frühzeitiger Abbruch möglich; leicht visualisierbar Mehr Vergleiche bei unsortierten Feldern
Kombiniert Effizient bei allen Feldzuständen; spart Vergleiche und Durchläufe Didaktisch komplexer; schwerer zu visualisieren
🦉 „Ein guter Algorithmus weiß, wann er aufhören darf – und wo er noch wirken muss.“

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.