{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Statement\n\nLet $G$ be a finite simple [[graph|0JD5C82QMB]] with $n \\ge 3$ vertices.\nSuppose that every vertex of $G$ has [[degree|0T0F6CCS9W]] at least $n/2$.\nThen $G$ is [[Hamiltonian|090WPKFABX]].\n\n## Remarks\n\nThe hypothesis says that the [[minimum degree|0TKZCSGCCA]] is at least $n/2$.\nThe theorem follows from [[Ore's theorem|0NACHJYPKW]]: if all degrees are at least $n/2$, then each sum of two degrees is at least $n$.\nThe bound is sharp. The complete bipartite graph $K_{k, k+1}$ has minimum degree $k \u003c (2k+1)/2$, and it is not Hamiltonian.\n\n## History\n\nG. A. Dirac published the theorem in 1952.\n\n## Explanations\n\n### L1 human\n\nIf each vertex is joined to at least half of the other vertices, there is a round trip through all vertices.\nA graph with this many edges cannot avoid a Hamiltonian cycle.\n",
  "commit": "f591989ed15704e9d8755a7a5a6426d73de7a3ae",
  "front": {
    "kind": "statement",
    "msc": [
      "05C45"
    ],
    "name": "Dirac's theorem on Hamiltonian cycles",
    "role": "theorem",
    "sources": [
      {
        "locator": "Bondy–Chvátal theorem",
        "url": "https://en.wikipedia.org/wiki/Hamiltonian_path"
      }
    ],
    "tag": "0TC99BRSSB",
    "uses": [
      "0TKZCSGCCA",
      "090WPKFABX"
    ]
  },
  "kind": "statement",
  "link": "https://math2.tamnd.com/node/0TC99BRSSB/",
  "links": [
    {
      "field": "uses",
      "target": "0TKZCSGCCA"
    },
    {
      "field": "uses",
      "target": "090WPKFABX"
    }
  ],
  "markdown": "https://math2.tamnd.com/node/0TC99BRSSB.md",
  "msc": [
    "05C45"
  ],
  "name": "Dirac's theorem on Hamiltonian cycles",
  "prov": null,
  "role": "theorem",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/0TC/0TC99BRSSB.md",
  "status": null,
  "tag": "0TC99BRSSB",
  "uri": "m2://0TC99BRSSB",
  "url": "https://math2.tamnd.com/wiki/diracs-theorem-on-hamiltonian-cycles/",
  "writing": {
    "tag": "0TC99BRSSB",
    "kind": "statement",
    "level": "W0",
    "next": [
      {
        "what": "an inventory row",
        "note": "the row of the inventory that the node accounts for",
        "have": 0,
        "want": 1
      }
    ]
  }
}
