Bitte warten...
O(n²). Quick Sort dagegen? Ein gerissener Kapitän, der den Haufen clever aufteilt – blitzschnell mit O(n log n)! 🏴☠️O(n²)O(n log n)O(n log n)
# BUBBLE SORT - O(n²) - "Der Langsamläufer"
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j] # swap()
return arr
# Bei 10.000 Elementen: ~100 Millionen Vergleiche! 😱
# QUICK SORT - O(n log n) - "Der Blitz"
def quick_sort(arr):
if len(arr) <= 1:
return arr
pivot = arr[len(arr) // 2] # Wähle Pivot
left = [x for x in arr if x < pivot] # Kleiner als Pivot
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot] # Größer als Pivot
return quick_sort(left) + middle + quick_sort(right)
# Bei 10.000 Elementen: nur ~130.000 Vergleiche! 🚀
swap(), um sie in die richtige Reihenfolge zu bringen. Denke wie Quick Sort: Teile das Problem, erobere es schrittweise!╔══════════════════════════════════════════════════════════╗ ║ BUBBLE SORT vs QUICK SORT - Schritt für Schritt ║ ╚══════════════════════════════════════════════════════════╝ Unsortiert: [8, 3, 12, 1, 7] ┌────────── BUBBLE SORT (O(n²)) ──────────┐ │ Runde 1: [3, 8, 1, 7, 12] → 4 swaps │ │ Runde 2: [3, 1, 7, 8, 12] → 3 swaps │ │ Runde 3: [1, 3, 7, 8, 12] → 2 swaps │ │ Runde 4: [1, 3, 7, 8, 12] → 1 swap │ │ Total: 10 Vergleiche, 10 Swaps │ └─────────────────────────────────────────┘ ┌────────── QUICK SORT (O(n log n)) ──────┐ │ Pivot: 7 (Mitte) │ │ Links: [3, 1] → Quick Sort rekursiv │ │ Mitte: [7] │ │ Rechts: [8, 12] → Quick Sort rekursiv │ │ │ │ Links sortiert: [1, 3] (Pivot: 1) │ │ Rechts sortiert: [8, 12] (Pivot: 8) │ │ │ │ Ergebnis: [1, 3, 7, 8, 12] │ │ Total: 7 Vergleiche, 0 Swaps │ └─────────────────────────────────────────┘ ⚡ Performance (10.000 Elemente): Bubble Sort: ~50.000.000 Operationen → 10 Sekunden Quick Sort: ~130.000 Operationen → 0.01 Sekunden → Quick Sort ist 1000x schneller!
💡 Tipp: Monster sind chaotisch sortiert - nutze swap() um Reihenfolge zu ändern!
Unterstütze mein neues Projekt "Leyla's Code" mit einer Bitcoin-Spende!
💰
Bitcoin-Adresse:
Jede Spende hilft, Leyla's Code weiterzuentwickeln danke, Captain! 🏴☠️
Willkommen in der Welt der Sortier-Algorithmen! In Level 27 lernst du, wie Computer Daten effizient ordnen. Von Bubble Sort bis Quick Sort – verstehe die Unterschiede in Performance und Komplexität!
Ein Sortier-Algorithmus ordnet Daten in einer bestimmten Reihenfolge – aufsteigend oder absteigend. Die Wahl des richtigen Algorithmus kann den Unterschied zwischen Millisekunden und Stunden ausmachen!
Bubble Sort ist der simpelste Sortier-Algorithmus: Er vergleicht benachbarte Elemente und tauscht sie, wenn sie in der falschen Reihenfolge sind. Einfach, aber langsam bei großen Datenmengen!
Quick Sort ist deutlich effizienter: Er wählt ein "Pivot"-Element und teilt die Liste in zwei Hälften – kleinere und größere Werte. Dann wird das Verfahren rekursiv auf beide Hälften angewendet. Schnell und elegant!
🏆 Praxis-Tipp: Für kleine Datenmengen (unter 100 Elementen) ist die Wahl des Algorithmus egal. Bei 1 Million Elementen macht Quick Sort den Unterschied zwischen 2 Sekunden und 30 Minuten!
Meistere die Sortierung und werde zum Algorithmen-Experten! 🏴☠️