Algorithmic Extensions of Dirac's Theorem