Skip to content

Repository files navigation

📊 Algorithmen — Google Colab Notebooks

Python Colab

Interaktive Jupyter Notebooks zu klassischen Algorithmen — modular aufgebaut: ein Notebook pro Algorithmus. Sortier-, Such- und Graphenalgorithmen (BFS, DFS, Dijkstra) mit Erklärungen und Schritt-für-Schritt-Code. Alle Algorithmen sind in reinem Python implementiert und direkt in Google Colab ausführbar.

✨ Features

  • 🔄 Sortieralgorithmen — Bubble Sort, Quick Sort, Merge Sort und Heap Sort
  • 🔍 Suchalgorithmen — Lineare Suche und Binäre Suche
  • 🕸️ Graphenalgorithmen — BFS, DFS und Dijkstra
  • 📓 Modular — ein eigenes Notebook pro Algorithmus, wie Djkstra.ipynb

🚀 In Google Colab öffnen

Jedes Notebook lässt sich direkt in Google Colab öffnen und ausführen:

Notebook Inhalt Colab
bubble_sort.ipynb Bubble Sort Open In Colab
quick_sort.ipynb Quick Sort Open In Colab
merge_sort.ipynb Merge Sort Open In Colab
heap_sort.ipynb Heap Sort Open In Colab
lineare_suche.ipynb Lineare Suche Open In Colab
binaere_suche.ipynb Binäre Suche Open In Colab
bfs.ipynb BFS (Breitensuche) Open In Colab
dfs.ipynb DFS (Tiefensuche) Open In Colab
Djkstra.ipynb Dijkstra (Kurzreferenz) Open In Colab

💡 Tipp: In Colab: Datei → In Drive speichern → mit GPU/TPU ausführen.

🛠️ Lokal ausführen (optional)

git clone https://github.com/mark-baumann/algorithmen.git
cd algorithmen
uv venv
source .venv/bin/activate
uv pip install jupyter numpy matplotlib
jupyter notebook

📁 Projektstruktur

algorithmen/
├── bubble_sort.ipynb      # Bubble Sort
├── quick_sort.ipynb       # Quick Sort
├── merge_sort.ipynb       # Merge Sort
├── heap_sort.ipynb        # Heap Sort
├── lineare_suche.ipynb    # Lineare Suche
├── binaere_suche.ipynb    # Binäre Suche
├── bfs.ipynb              # BFS (Breitensuche)
├── dfs.ipynb              # DFS (Tiefensuche)
└── Djkstra.ipynb          # Dijkstra (Kurzreferenz)

📖 Enthaltene Algorithmen

Sortieren

Algorithmus Komplexität (avg) Komplexität (worst) Stabil
Bubble Sort O(n²) O(n²) ✅
Quick Sort O(n log n) O(n²) ❌
Merge Sort O(n log n) O(n log n) ✅
Heap Sort O(n log n) O(n log n) ❌

Suchen

Algorithmus Komplexität Voraussetzung
Lineare Suche O(n) Keine
Binäre Suche O(log n) Sortiertes Array

Graphen

Algorithmus Komplexität Anwendung
BFS (Breitensuche) O(V + E) Kürzeste Pfade (ungewichtet), Level-Order
DFS (Tiefensuche) O(V + E) Zyklen-Erkennung, Topologische Sortierung
Dijkstra O((V+E) log V) Kürzeste Pfade (gewichtet, positiv)

👤 Autor

Mark Baumann — GitHub


Algorithmen sind das Handwerkszeug jedes Entwicklers. Diese Notebooks machen abstrakte Konzepte durch Code und Erklärungen greifbar.

About

🔣 Klassische Algorithmen: Sortieren, Suchen, Graphen, Dynamische Programmierung

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages