path.py 文件源码

python
阅读 20 收藏 0 点赞 0 评论 0

项目:tundra 作者: caiopo 项目源码 文件源码
def hamiltonian_cycle(g: Graph, start: Vertex) -> List[Vertex]:
    path = [start]

    current = start

    visited: Set[Vertex] = set()

    try:
        while len(visited) != g.order:
            visited.add(current)

            (_, nearest) = min(
                (g.weight[current, v], v)
                for v in g.neighbors(current)
                if v not in visited
            )

            path.append(nearest)

            current = nearest
    except ValueError as e:
        if len(path) == g.order:
            return path

    raise HamiltonianCycleNotFound('graph has dead ends')
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号