我正在尝试构建一种算法,该算法返回构成无向图中的一个循环的路径节点(如果有的话)。到目前为止,我所做的是在图上执行 DFS,直到我到达一个未发现的边缘,导致一个发现的节点(那时我知道有一个循环)。但是我怎么知道是哪条路径形成了循环。如果我使用堆栈/队列来记录我的路径,这对我有什么帮助?假设我从一个不属于循环路径的节点开始,我以后怎么知道将其从堆栈/队列中取出?
任何建议将不胜感激。
我正在尝试构建一种算法,该算法返回构成无向图中的一个循环的路径节点(如果有的话)。到目前为止,我所做的是在图上执行 DFS,直到我到达一个未发现的边缘,导致一个发现的节点(那时我知道有一个循环)。但是我怎么知道是哪条路径形成了循环。如果我使用堆栈/队列来记录我的路径,这对我有什么帮助?假设我从一个不属于循环路径的节点开始,我以后怎么知道将其从堆栈/队列中取出?
任何建议将不胜感激。