任何人都可以建议我一个线性时间算法,需要作为输入向无环图和两个顶点和,并返回从简单路径的数目到在。
我有一个算法,其中将运行DFS(深度优先搜索),但如果DFS找到则它将不会更改路径出现的任何节点的颜色(从白色到灰色),以便如果这是任何其他路径的子路径,那么DFS也会再次通过该子路径。例如,考虑邻接列表,我们需要在其中找到从p到v的路径数。
v p o s z o r s v s r r y y v v w z
我的算法正确吗?如果没有,则需要对其进行哪些修改以使其正确,否则将不胜感激。
注意:这里我考虑了《 Cormen算法简介》一书中提供的DFS算法,该算法根据其状态为节点着色。因此,如果未访问,未探索和探索该节点,则该颜色将为白色,灰色和黑色。其他所有东西都是标准的。