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 BaumannGitHub


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