在直接图中查找电路

时间:2012-05-05 00:45:10

标签: c++ algorithm graph

我想在直接图中找到一个电路,该电路从特定的顶点开始并以此结束。我使用邻接列表数据结构来创建这个图,但我不知道算法将如何,请帮助我。 非常感谢

3 个答案:

答案 0 :(得分:1)

可能这个提示会有所帮助:

  1. 遍历图(任何算法 - BFS DFS)
  2. 您访问过的彩色节点 并存储其父级
  3. 检查您正在遍历的节点是否正常 已经上色,然后回到它的父母,直到你得到它 节点

答案 1 :(得分:0)

答案 2 :(得分:0)

void DFS (Node* ptr , int node , int index , int n )

{     int i;

if ( ptr == NULL)
{
    ptr=arrNode[index].next;
    node = ptr->vertex;
}

for ( int i=0 ; i < n ; i++)
{
    if ( ( node == arrNode[i].vertex) && (ptr->visit=false))
    {
        ptr=arrNode[i].next;
        ptr->visit = true;
        s.push(arrNode[i].vertex);
    }
    ptr=ptr->next;
    DFS(ptr,ptr->vertex,i+1 , n );

}

}