Simplify Your Workflow: Search MiniWebtool.
Add Extension
Home Page > Math > Advanced Math Operations > Hamiltonian Path Checker

Hamiltonian Path Checker

Check whether a graph contains a Hamiltonian path or Hamiltonian cycle. Runs backtracking with Warnsdorff pruning, verifies connectivity and degree prerequisites, tests Dirac and Ore sufficient conditions, and shows the witness path on an animated SVG visualization.

Hamiltonian Path Checker
Accepts A-B, A->B, A B, A,B, or matrix rows like 0 1 1 0. Use letters, digits, or underscore for labels.
Comma- or space-separated labels, one per row. Defaults to A, B, C… if omitted.

Embed Hamiltonian Path Checker Widget

About Hamiltonian Path Checker

The Hamiltonian Path Checker decides whether a graph contains a Hamiltonian path — a sequence that visits every vertex exactly once — or a Hamiltonian cycle, which additionally returns to the starting vertex. It combines fast structural pre-checks (connectivity, degree prerequisites, Dirac's theorem, Ore's theorem) with a backtracking search tuned by Warnsdorff's heuristic, and visualizes the witness path with a step-by-step animation.

What Is a Hamiltonian Path?

Given a graph G = (V, E) with n vertices, a Hamiltonian path is an ordered sequence v1, v2, …, vn of all vertices such that each consecutive pair (vi, vi+1) is an edge of G, and every vertex appears exactly once. If additionally (vn, v1) is an edge, the sequence is a Hamiltonian cycle.

Hamiltonian path: v1 — v2 — v3 — … — vn (all distinct, each consecutive pair is an edge) Hamiltonian cycle: v1 — v2 — v3 — … — vn — v1 (closes back to the start)

The problem is named after William Rowan Hamilton, who in 1857 invented the Icosian game — a puzzle asking the solver to find a cycle visiting every vertex of a regular dodecahedron exactly once.

Why It Is Hard: NP-Completeness

Both the Hamiltonian path decision problem and the Hamiltonian cycle decision problem are NP-complete (Karp, 1972). Unless P = NP, no polynomial-time algorithm exists that solves every instance. In the worst case, backtracking explores a search tree of size up to (n−1)! for a cycle. This is why the calculator caps input at 20 vertices — a small polynomial increase in n produces an explosive increase in run time.

In practice, the Warnsdorff heuristic (originally devised by Heinrich Warnsdorff in 1823 for the knight's tour) makes the search dramatically faster on structured graphs: at each step, the algorithm extends the current path to the unvisited neighbor with the smallest number of remaining unvisited neighbors. This greedy rule keeps the search from painting itself into a corner and often finds a Hamiltonian tour with zero backtracking on well-behaved graphs.

Necessary Conditions — Fast Rejection

Before running an expensive search, the calculator rejects graphs that cannot possibly contain a Hamiltonian path:

These rules reject many hopeless inputs in linear time, avoiding wasted backtracking effort.

Sufficient Conditions — Classical Theorems

Several classical theorems give sufficient (but not necessary) conditions guaranteeing a Hamiltonian cycle in undirected simple graphs. If any of these apply, the calculator marks the result "GUARANTEES" without even running the search — though it still exhibits a witness cycle.

Dirac's Theorem (1952)

If G is a simple undirected graph on n ≥ 3 vertices and every vertex has degree at least n / 2, then G has a Hamiltonian cycle.

δ(G) ≥ n / 2 ⟹ G is Hamiltonian

Ore's Theorem (1960)

If for every pair of non-adjacent vertices u and v we have deg(u) + deg(v) ≥ n, then G has a Hamiltonian cycle. Ore's condition is strictly weaker than Dirac's, so Ore implies Dirac.

∀ non-adjacent u, v: deg(u) + deg(v) ≥ n ⟹ G is Hamiltonian

Failure of Dirac's or Ore's condition does not mean the graph lacks a Hamiltonian cycle — many graphs satisfy neither but still contain one (e.g., a simple n-cycle has minimum degree 2, far below n/2 for large n).

The Search Algorithm Inside

When the pre-checks do not settle the question, the calculator runs a backtracking search on the graph's adjacency representation. Key tactics:

  1. Bitmask visited-set. The visited vertices are stored as a bitmask (fast O(1) membership test for up to 20 vertices).
  2. Warnsdorff heuristic. At each extension, neighbors are tried in order of their remaining unvisited-degree (smallest first), mimicking a "low-branching" order.
  3. Root selection. For Hamiltonian cycle, only one starting vertex is needed (cycles are rotation-invariant). For Hamiltonian path, starts are tried in ascending order of out-degree — the rarest positions first.
  4. Step budget. A hard cap prevents pathological instances from running indefinitely; the UI reports the verdict as "timed out" if the budget is exhausted.

Hamiltonian vs Eulerian

It is easy to confuse Hamiltonian and Eulerian problems — they sound similar but are fundamentally different:

Property Hamiltonian path / cycle Eulerian trail / circuit
Visits each… Vertex exactly once Edge exactly once
Complexity NP-complete Polynomial (O(n+m))
Condition No simple characterization Connected + all degrees even (for circuit); at most 2 odd for trail
Named after W. R. Hamilton (1857) L. Euler (1736, Königsberg bridges)
Classic example Traveling Salesman, Icosian game Route inspection, postman problem

Supported Input Formats

Edge list

One edge per line, or comma-separated. Supported separators: A-B, A B, A,B, A--B, A->B, A<-B. Use -> to force a directed interpretation.

A-B, B-C, C-D, D-A, A-C (undirected graph with 5 edges) A->B, B->C, C->D, D->A (directed 4-cycle)

Adjacency matrix

Square matrix of 0/1 values, one row per line, space- or comma-separated. Supply optional labels in the Matrix labels field; otherwise A, B, C… are used automatically.

0 1 1 0 1 0 1 1 1 1 0 1 0 1 1 0

How to Use This Checker

  1. Pick an input format — Edge list for small hand-written graphs, Adjacency matrix for pastes from code or textbooks.
  2. Paste your graph in the text area. For matrix input, optionally provide vertex labels.
  3. Choose what to check: Path only, Cycle only, or Both in one run.
  4. Select graph type — Auto-detect infers directedness from arrow style (->) or matrix symmetry.
  5. Click Check Hamiltonian. The result page shows a verdict headline, the necessary-condition pre-check, Dirac / Ore sufficient-condition tests, the witness path (if one exists), and an interactive visualization.
  6. Replay the witness using the Play / Step controls. Watch the path light up edge by edge on the graph.

Worked Example — The Petersen Graph

The famous Petersen graph (10 vertices, 15 edges, 3-regular) is a textbook example of a graph with a Hamiltonian path but no Hamiltonian cycle. Paste this into the edge-list field and click Check:

1-2, 2-3, 3-4, 4-5, 5-1, 6-8, 8-10, 10-7, 7-9, 9-6, 1-6, 2-7, 3-8, 4-9, 5-10

The checker confirms: Hamiltonian path found (e.g., 1 — 2 — 7 — 10 — 5 — 4 — 9 — 6 — 8 — 3), but exhaustive search finds no way to close the loop back — a result first proved in the 1890s.

Common Applications

Frequently Asked Questions

What is a Hamiltonian path?

A Hamiltonian path is a walk through a graph that visits every vertex exactly once. It is named after William Rowan Hamilton, who studied the problem on the dodecahedron graph in 1857. Deciding whether such a path exists is an NP-complete problem, so no known algorithm solves it in polynomial time for all graphs.

How is a Hamiltonian cycle different from a Hamiltonian path?

A Hamiltonian cycle is a Hamiltonian path that returns to its starting vertex, forming a closed loop that visits every vertex exactly once. Every Hamiltonian cycle contains a Hamiltonian path (just drop the closing edge), but the reverse is not true: many graphs have a Hamiltonian path but no Hamiltonian cycle.

What does Dirac's theorem say?

Dirac's theorem (1952) states that any simple undirected graph on n ≥ 3 vertices in which every vertex has degree at least n/2 contains a Hamiltonian cycle. It is a sufficient but not necessary condition: many graphs that fail the Dirac threshold still have Hamiltonian cycles.

What does Ore's theorem say?

Ore's theorem (1960) states that if, for every pair of non-adjacent vertices u and v in a simple graph on n ≥ 3 vertices, the sum of their degrees is at least n, then the graph has a Hamiltonian cycle. Ore's condition is weaker than Dirac's, so Ore's theorem applies whenever Dirac's theorem does.

Why is the search limited to 20 vertices?

Hamiltonian path and cycle decision problems are NP-complete. Worst-case running time scales exponentially with the number of vertices. With pruning and the Warnsdorff heuristic the calculator handles many small graphs up to 20 vertices quickly, but harder instances may time out. Beyond 20 vertices you should use specialized solvers such as Concorde or integer-programming formulations.

What is Warnsdorff's heuristic?

Warnsdorff's rule, proposed in 1823 for the knight's tour problem, says that at each step you should visit the next-vertex that has the fewest remaining unvisited neighbors. This greedy-looking rule dramatically prunes the backtracking tree in practice and often finds Hamiltonian paths without backtracking at all on regular graphs.

Does this tool find all Hamiltonian paths?

No — it finds a single witness path or cycle when one exists. Counting the total number of Hamiltonian paths is itself a #P-complete problem and far harder than the decision problem. For enumeration, specialized tools or integer-programming solvers are more appropriate.

Further Reading

Reference this content, page, or tool as:

"Hamiltonian Path Checker" at https://MiniWebtool.com/hamiltonian-path-checker/ from MiniWebtool, https://MiniWebtool.com/

by miniwebtool team. Updated: Apr 21, 2026

You can also try our AI Math Solver GPT to solve your math problems through natural language question and answer.

Related MiniWebtools:

Advanced Math Operations:

Top & Updated:

Random PickerRandom Name PickerBatting Average CalculatorRelative Standard Deviation CalculatorLine CounterFPS ConverterSort NumbersERA CalculatorMAC Address GeneratorInstagram User ID LookupRemove SpacesWord to Phone Number ConverterMAC Address LookupFeet and Inches to Cm ConverterFacebook User ID LookupRandom Truth or Dare GeneratorSum CalculatorPercent Off CalculatorBitwise CalculatorSHA256 Hash GeneratorOPS CalculatorLog Base 10 CalculatorRandom Quote GeneratorSalary Conversion CalculatorSlugging Percentage CalculatorNumber of Digits CalculatorMP3 LooperSlope and Grade CalculatorRandom IMEI GeneratorOn Base Percentage CalculatorSun, Moon & Rising Sign Calculator 🌞🌙✨Roman Numerals ConverterSquare Root (√) CalculatorVertical Jump CalculatorOctal CalculatorAudio SplitterPhone Number ExtractorCm to Feet and Inches ConverterSaturn Return CalculatorCompound Growth CalculatorMerge VideosVideo to Image ExtractorWAR CalculatorDecimal to BCD ConverterRandom Activity GeneratorCompare Two StringsBCD to Decimal ConverterFirst n Digits of PiCaffeine Overdose CalculatorRandom Poker Hand GeneratorRandom Writing Prompt GeneratorLove Compatibility CalculatorWHIP CalculatorBinary to Gray Code ConverterText FormatterCM to Inches ConverterRandom Movie PickerFile Size ConverterTime Duration CalculatorRemove AccentRandom Fake Address GeneratorQuotient and Remainder CalculatorSRT Time ShiftAI ParaphraserOutlier CalculatorRandom Superpower GeneratorImage SplitterPER CalculatorInvisible Text GeneratorRandom Number PickerVideo CropperYouTube Channel StatisticsWhat is my Lucky Number?Day of Year CalendarGray Code to Binary ConverterAI Punctuation AdderBinary to BCD ConverterIP Address to Hex ConverterNumber to Word ConverterRandom Loadout GeneratorPercent Growth Rate CalculatorConnect the Dots GeneratorRemove Leading Trailing SpacesAdd Prefix and Suffix to TextRandom Object GeneratorReverse VideoSocial Media Username CheckerWord Ladder GeneratorName Number CalculatorArc Length CalculatorVideo SplitterImage CompressorRandom Birthday GeneratorStair CalculatorMaster Number CalculatorList of Prime NumbersExponential Decay CalculatorRemove Audio from VideoSHA512 Hash GeneratorEmail ExtractorURL ExtractorDay of the Year Calculator - What Day of the Year Is It Today?Video CompressorSort Lines AlphabeticallyHex to BCD ConverterBCD to Binary ConverterLottery Number GeneratorBCD to Hex ConverterMedian CalculatorStandard Error CalculatorLeap Years ListList RandomizerBreak Line by CharactersAverage CalculatorModulo CalculatorPVIFA CalculatorHypotenuse CalculatorActual Cash Value CalculatorScientific Notation to Decimal ConverterNumber ExtractorAngel Number CalculatorLog Base 2 CalculatorRoot Mean Square CalculatorSum of Positive Integers CalculatorSHA3-256 Hash GeneratorAI Sentence Expander📅 Date CalculatorLbs to Kg ConverterHex to Decimal ConverterRandom Group GeneratorConvolution CalculatorMAC Address AnalyzerRandom String GeneratorAmortization CalculatorMarkup CalculatorPVIF CalculatorDecimal to Hex ConverterInstagram Font GeneratorSocial Media Image Size GuideTikTok Money CalculatorTwitter/X Character CounterTwitter/X Timestamp ConverterYouTube Watch Time CalculatorTwitch Earnings CalculatorYouTube Shorts Monetization CalculatorFacebook Ad Cost CalculatorSocial Media ROI CalculatorSocial Media Post Time OptimizerCTR CalculatorROAS CalculatorInfluencer ROI CalculatorForce CalculatorAcceleration CalculatorVelocity CalculatorMomentum CalculatorProjectile Motion CalculatorKinetic Energy CalculatorPotential Energy CalculatorWork and Power CalculatorDensity CalculatorPressure CalculatorIdeal Gas Law CalculatorFree Fall CalculatorTorque CalculatorHorsepower CalculatorDilution CalculatorChemical Equation BalancerStoichiometry CalculatorPercent Yield CalculatorEmpirical Formula CalculatorBoiling Point CalculatorTitration CalculatorMole/Gram/Particle ConverterLED Resistor CalculatorVoltage Divider CalculatorParallel Resistor CalculatorCapacitor Calculator555 Timer CalculatorWire Gauge CalculatorTransformer CalculatorRC Time Constant CalculatorPower Factor CalculatorDecibel (dB) CalculatorImpedance CalculatorResonant Frequency CalculatorGrade CalculatorFinal Grade CalculatorWeighted Grade CalculatorTest Score CalculatorSignificant Figures CalculatorStudy Timer (Pomodoro)Long Division CalculatorRounding CalculatorCompleting the Square CalculatorRatio Calculatorp-Value CalculatorNormal Distribution CalculatorPercentile CalculatorFive Number Summary CalculatorCross Multiplication CalculatorLumber CalculatorRebar CalculatorPaver CalculatorInsulation CalculatorHVAC Sizing CalculatorRetaining Wall CalculatorCarpet CalculatorSquare Footage Calculator⏱️ Countdown Timer⏱️ Online Stopwatch⏱️ Hours Calculator🕐 Military Time Converter📅 Date Difference Calculator⏰ Time Card Calculator⏰ Online Alarm Clock🌐 Time Zone Converter🌬️ Wind Chill Calculator🌡️ Heat Index Calculator💧 Dew Point CalculatorFuel Cost CalculatorTire Size Calculator👙 Bra Size Calculator🌍 Carbon Footprint Calculator⬛ Aspect Ratio CalculatorOnline Notepad🖱️ Click Counter🔊 Tone Generator📊 Bar Graph Maker🥧 Pie Chart Maker📈 Line Graph Maker📷 OCR / Image to Text🔍 Plagiarism Checker🚚 Moving Cost Estimator❄️ Snow Day Calculator🎮 Game Sensitivity Converter⚔️ DPS Calculator🎰 Gacha Pity Calculator🎲 Loot Drop Probability Calculator🎮 In-Game Currency ConverterMultiplication Table GeneratorLong Multiplication CalculatorLong Addition and Subtraction CalculatorOrder of Operations Calculator (PEMDAS)Place Value Chart GeneratorNumber Pattern FinderEven or Odd Number CheckerAbsolute Value CalculatorCeiling and Floor Function CalculatorUnit Rate CalculatorSkip Counting GeneratorNumber to Fraction ConverterEstimation CalculatorCubic Equation SolverQuartic Equation SolverLogarithmic Equation SolverExponential Equation SolverTrigonometric Equation SolverLiteral Equation SolverRational Equation SolverSystem of Nonlinear Equations SolverPoint-Slope Form CalculatorStandard Form to Slope-Intercept ConverterEquation of a Line CalculatorParallel and Perpendicular Line CalculatorDescartes' Rule of Signs CalculatorRational Root Theorem CalculatorSigma Notation Calculator (Summation)Product Notation Calculator (Pi Notation)Pascal's Triangle GeneratorBinomial Theorem Expansion CalculatorParabola CalculatorHyperbola CalculatorConic Section IdentifierRegular Polygon CalculatorIrregular Polygon Area CalculatorFrustum CalculatorTorus Calculator3D Distance CalculatorGreat Circle Distance CalculatorCircumscribed Circle (Circumcircle) CalculatorInscribed Circle (Incircle) CalculatorAngle Bisector CalculatorTangent Line to Circle CalculatorHeron's Formula CalculatorCoordinate Geometry Distance CalculatorVolume of Revolution CalculatorSurface of Revolution CalculatorParametric Curve GrapherRiemann Sum CalculatorTrapezoidal Rule CalculatorSimpson's Rule CalculatorImproper Integral CalculatorL'Hôpital's Rule CalculatorMaclaurin Series CalculatorPower Series CalculatorSeries Convergence Test CalculatorInfinite Series Sum CalculatorAverage Rate of Change CalculatorInstantaneous Rate of Change CalculatorRelated Rates SolverOptimization Calculator (Calculus)Gradient Calculator (Multivariable)Divergence CalculatorCurl CalculatorLine Integral CalculatorSurface Integral CalculatorJacobian Matrix CalculatorNewton's Method CalculatorRREF Calculator (Row Echelon Form)Matrix Inverse CalculatorMatrix Multiplication CalculatorDot Product CalculatorCross Product CalculatorVector Magnitude CalculatorUnit Vector CalculatorAngle Between Vectors CalculatorNull Space CalculatorColumn Space CalculatorCramer's Rule CalculatorMatrix Diagonalization CalculatorQR Decomposition CalculatorCholesky Decomposition CalculatorMatrix Power CalculatorCharacteristic Polynomial CalculatorBayes' Theorem CalculatorF-Test / F-Distribution CalculatorHypergeometric Distribution CalculatorNegative Binomial Distribution CalculatorGeometric Distribution CalculatorExponential Distribution CalculatorWeibull Distribution CalculatorBeta Distribution CalculatorSpearman Rank Correlation CalculatorFisher's Exact Test CalculatorContingency Table CalculatorOdds Ratio CalculatorRelative Risk CalculatorEffect Size CalculatorPermutations with Repetition CalculatorModular Exponentiation CalculatorPrimitive Root CalculatorPerfect Number CheckerAmicable Number CheckerTwin Prime FinderMersenne Prime CheckerGoldbach Conjecture VerifierMöbius Function CalculatorEgyptian Fraction CalculatorFibonacci Number CheckerDigital Root CalculatorPartition Function CalculatorBoolean Algebra SimplifierKarnaugh Map (K-Map) SolverLogic Gate SimulatorGraph Coloring CalculatorTopological Sort CalculatorAdjacency Matrix CalculatorRecurrence Relation SolverInclusion-Exclusion CalculatorLinear Programming SolverTraveling Salesman Solver (TSP)Hamiltonian Path Checker