def hamiltonCycleAllPath(self): minPath = Path() for top in self.__tops: path = Path() path.addTop(top) self.__allPath(top, path, minPath) return minPath
def __checkPermutation(self, _tops): path = Path() for i in range(len(_tops)): path.addTop(_tops[i]) if i != 0: if _tops[i - 1].isArcTo(_tops[i]): path.addArc(_tops[i - 1].getArcTo(_tops[i])) else: return None if path.isCycle(): return path else: return None