Graph 通过非递归DFS的关节点
我想通过非递归的方法找到根是否是一个连接点的方法。通过递归的方法,我们可以递归地找到根的非连通子节点的数目。但是我没有找到一种没有递归的方法来实现这一点。我能够编写一个我认为可能有效的算法。下面是: 任何顶点都有四种状态。未访问、访问、访问、重访。我们保存了一个dad数组和一个保存未连接子节点计数的数组Graph 通过非递归DFS的关节点,graph,graph-algorithm,Graph,Graph Algorithm,我想通过非递归的方法找到根是否是一个连接点的方法。通过递归的方法,我们可以递归地找到根的非连通子节点的数目。但是我没有找到一种没有递归的方法来实现这一点。我能够编写一个我认为可能有效的算法。下面是: 任何顶点都有四种状态。未访问、访问、访问、重访。我们保存了一个dad数组和一个保存未连接子节点计数的数组 我们继续从根开始向堆栈添加顶点,但我们不会弹出父元素。例如,我们将根1连接到2,3,6,7,然后将1推到堆栈中,但不弹出它。相反,我们把其他孩子推到它上面。我们还为每个元素维护dad。例如,2,
这个算法似乎有点复杂,但似乎是可行的。欢迎提出任何建议或问题。本网站是针对编程问题的,这听起来更像是一个理论问题。我只想获得上述问题的算法。