diff --git a/README.md b/README.md new file mode 100644 index 0000000..ffd68ac --- /dev/null +++ b/README.md @@ -0,0 +1,83 @@ +# Sortier-Algorithmen Visualisierung + +Interaktive Visualisierung von 20 Sortieralgorithmen mit Schritt-für-Schritt-Darstellung, Speicher-Ansicht und Keyboard-Steuerung. + +**Datei:** `sorting_visualization.html` — Single-File, keine Abhängigkeiten, läuft direkt im Browser. + +[Online ansehen](sorting_visualization.html) · [Tests bestehen: 198/198](test_algorithms.js) + +--- + +## Algorithmus-Übersicht + +| Kategorie | Algorithmen | +|---|---| +| O(n²) | Bubble Sort, Selection Sort, Insertion Sort, Cocktail Shaker Sort | +| O(n log n) | Merge Sort, Heap Sort, Quick Sort, 3-Way Quick Sort, Dual-Pivot Quick Sort, Introsort, Shell Sort, Tree Sort, Timsort | +| Linear | Counting Sort, Radix Sort, Bucket Sort | +| Spezial | Pancake Sort, Cycle Sort, Bogo Sort, Fisher-Yates Shuffle | + +--- + +## Features + +- **20 Algorithmen** — vom klassischen Bubble Sort bis zum Fisher-Yates Shuffle +- **Speicher-Ansicht** — zeigt Hilfsdatenstrukturen bei Merge Sort, Heap Sort, Timsort, Counting/Radix/Bucket Sort +- **5 Datensatz-Presets** — Zufällig, Sortiert, Umgekehrt, Fast sortiert, Duplikate +- **Schritt-Navigation** — vor, zurück, Play/Pause +- **Keyboard-Steuerung** — alle Funktionen auch ohne Maus bedienbar +- **URL-State** — Auswahl bleibt beim Neuladen erhalten +- **Mobile optimiert** — Touch-Support, zoom-resistent +- **Hell/Dunkel-Modus** — per Button oder `T` +- **Barrierefreiheit** — ARIA-Labels, Screen-Reader-Ankündigungen + +--- + +## Schnellstart + +1. `sorting_visualization.html` im Browser öffnen +2. Algorithmus wählen → Start mit `Space` +3. Oder: Play-Button drücken + +--- + +## Tastaturkürzel + +| Taste | Funktion | +|---|---| +| `Space` / `K` | Play / Pause | +| `→` / `L` | Ein Schritt vor | +| `←` / `J` | Ein Schritt zurück | +| `R` | Reset | +| `T` | Theme wechseln | +| `S` | Mischen (Fisher-Yates) | + +--- + +## Tests + +```bash +node test_algorithms.js +``` + +Alle 198 Tests müssen bestehen. + +--- + +## Dateien + +``` +sorting_visualization.html # Hauptprogramm (Single-File) +test_algorithms.js # Node.js Test-Suite +.gitignore # Git-Konfiguration +README.md # Dieses Dokument +``` + +--- + +## Entwicklung + +- **Kein Build-Schritt** — pure HTML/JS/CSS +- **Keine externen Abhängigkeiten** — läuft offline +- **Externe CDN** (optional, für Icons): Lucide Icons, Tailwind CSS +- **Version** — wird automatisch via `pre-commit`-Hook erhöht diff --git a/sorting_visualization.html b/sorting_visualization.html index 847ef3d..c568a50 100644 --- a/sorting_visualization.html +++ b/sorting_visualization.html @@ -204,7 +204,7 @@

- Sortier-Algorithmen v0.2.15 + Sortier-Algorithmen v0.2.16

Interaktive Visualisierung mit schrittweiser Animation