Arian Soleimanzadeh
  • Startseite
  • Blog
  • Podcasts
  • Videos
  • Bibliothek
  • Kontakt
العربيةArabic
DeutschGerman
EnglishEnglish
فارسیPersian
한국어Korean
中文Chinese
Bereich•Schnellkontakt

Languages

Choose your interface locale

ar

العربية

Arabic

de

Deutsch

German

en

English

English

fa

فارسی

Persian

ko

한국어

Korean

zh

中文

Chinese

Termin vereinbaren

Senden Sie eine kurze Nachricht — ich antworte so bald wie möglich.

LinkedInSchnelle Antwort
Startseite/Artikel/Hamiltonian Path & Cycle: Jeden Knoten genau einmal besuchen
AlgorithmsGraph AlgorithmsArtikel

Hamiltonian Path & Cycle: Jeden Knoten genau einmal besuchen

Praxisnaher Leitfaden zu Hamiltonian Path und Cycle mit Backtracking, DP, Komplexität, Euler-Vergleich und TSP-Bezug.

21. August 20269 Min. Lesezeit10 Aufrufe
#Graph#Algorithms#Backtracking#JavaScript#TypeScript#Hamiltonian Path#Hamiltonian Cycle

Arian Soleimanzadeh

Software Engineer & Researcher

Visueller Leitfaden zu Hamiltonian Path und Cycle

Arian Soleimanzadeh

KI · Code · Produkt

Forschung + Engineering
Auf dieser Seite
Path und CycleUnterschied zu EulerBeziehung zum TSPBacktrackingJavaScript-BeispielKomplexitätNP-CompleteAnwendungenWann verwenden?Fazit

Ein Hamiltonian Path besucht jeden Knoten eines Graphen genau einmal.

Ein Hamiltonian Cycle ist ein Hamiltonian Path, dessen letzter Knoten wieder mit dem Startknoten verbunden ist.

Path und Cycle

Hamiltonian Path:

Code
1
A → B → C → D

Hamiltonian Cycle:

Code
1
A → B → C → D → A

Unterschied zu Euler

Hamiltonian-Probleme beziehen sich auf Knoten:

Code
1
jeden Vertex genau einmal

Euler-Probleme beziehen sich auf Kanten:

Code
1
jede Edge genau einmal

Dieser Unterschied ist zentral.

Beziehung zum TSP

Hamiltonian Cycle fragt, ob eine entsprechende Rundreise existiert.

Das Travelling Salesman Problem fügt Gewichte hinzu und sucht unter allen gültigen Rundreisen die kostengünstigste.

Backtracking

Eine einfache exakte Lösung probiert einen unbenutzten Nachbarn, setzt die Suche rekursiv fort und nimmt die Wahl zurück, wenn ein Dead End entsteht.

JavaScript-Beispiel

JavaScript
1234567891011121314151617181920212223242526272829303132
function findHamiltonianPath(graph) {
  const nodes = Object.keys(graph);

  function search(current, path, used) {
    if (path.length === nodes.length) {
      return [...path];
    }

    for (const next of graph[current] ?? []) {
      if (used.has(next)) continue;

      used.add(next);
      path.push(next);

      const result = search(next, path, used);

      if (result) return result;

      path.pop();
      used.delete(next);
    }

    return null;
  }

  for (const start of nodes) {
    const result = search(start, [start], new Set([start]));
    if (result) return result;
  }

  return null;
}

Komplexität

Naives Backtracking kann im schlechtesten Fall ungefähr

Code
1
O(V!)

benötigen.

Subset-DP mit Bitmasken kann die Laufzeit auf etwa

Code
1
O(V² × 2^V)

reduzieren, bleibt aber exponentiell.

NP-Complete

Die Entscheidungsvarianten von Hamiltonian Path und Hamiltonian Cycle sind klassische NP-Complete-Probleme.

Anwendungen

  • Besuchsreihenfolgen ohne Wiederholung
  • Route Sequencing
  • Graph-Puzzles
  • strukturelle Grundlage des TSP
  • Reihenfolgen von Tasks mit erlaubten Übergängen

Wann verwenden?

Wenn jeder Knoten genau einmal besucht werden muss und die Existenz oder Konstruktion einer gültigen Reihenfolge entscheidend ist.

Fazit

Hamiltonian konzentriert sich auf Knoten, Eulerian auf Kanten. Für kleine Graphen ist Backtracking praktikabel; für größere Instanzen sind DP, Pruning oder spezialisierte Verfahren nötig.

Auf dieser Seite
Path und CycleUnterschied zu EulerBeziehung zum TSPBacktrackingJavaScript-BeispielKomplexitätNP-CompleteAnwendungenWann verwenden?Fazit

Artikeldetails

Veröffentlichungsdaten, Lesezeit und aktuelle Aufrufzahlen.

Veröffentlicht

21. August 2026

Aktualisiert

25. Oktober 2026

Lesezeit

9 Min. Lesezeit

Aufrufe

10

Autor

Arian Soleimanzadeh

Vorheriger Artikel

Eulerian Path & Circuit: Jede Kante genau einmal benutzen

Nächster Artikel

Travelling Salesman Problem (TSP): Brute Force, Held–Karp und Dynamic Programming

Arian Soleimanzadeh

Ein persönliches Portfolio mit Fokus auf moderne Webentwicklung, UI-Systeme und praxisnahe KI-Produkte — sauberer Code, klares Design.

Schnellzugriff

  • Über mich
  • Blog
  • Bibliothek
  • Kontakt

Kontakt

  • soleimanzadeh.a.work@gmail.com
  • soleimanzadeh.uni@gmail.com

Verfügbarkeit: Wochentage

Antwortet in der Regel innerhalb von 24 Std.

Newsletter

Erhalten Sie Neuigkeiten zu Beiträgen, Projekten und neuen Veröffentlichungen.

© 2026 ariansoleimanzadeh.dev — Alle Rechte vorbehalten.

LinkedIn