在一个由向无圈图中,查找给定的两节点之间的有向路径的条数。
阅微客栈 » 头脑风暴
微软面试题 - 找路径条数
(4 posts)-
发布于 1 年 之前 #
-
反向迭代,有点类似与dijkstra求最短路径
发布于 7 月 之前 # -
void FindPath(Graph& G, int v, int vj, Edge* &path, int l) //G是图,v是当前结点,vj是目标结点,path保存当前路径的数组,l是当前路径的长度
{
if(v == vj)
{
printPath(path, l);
return;
}
for(Edge e = G.FirstEdge(v); G.IsEdge(e); e = G.NextEdge(e))
{
if(!InPath(G.ToVetex(e))) { //Inpath判断下一搜索结点是否已经在路径中出现过
l++;
path[l] = G.ToVetex(e);
FindPath(G, G.ToVetex(e), vj, path, l);
l--; //恢复路径
}
}
就是一个回溯法搜索的过程发布于 6 月 之前 # -
呵呵呵呵····还是不会····
发布于 5 月 之前 #
回复
你必须 登录 后发帖。