哦,这和我(以及 templatetypedef)理解的完全不同。所以你想要找到一组从 i 到 z 的路径,使得这些路径是不相交的?可能有许多这样的集合(取决于您选择哪条可能的路径)。所以也许您想做的是找到从 i 到 z 的所有路径(通过例如广度优先搜索),然后处理它们以找到一个不相交的集合。其中一种容易的方法,虽然不会找到最大的这样的集合或任何东西:选择一条路径从集合中,删除所有与该路径相交的其他路径,重复。 - Danica
当然,你可以结合我刚才描述的那个算法的两个步骤。也许先进行深度优先搜索,一旦找到一个有效的路径,就从图中删除所有它的节点并继续搜索。如果你指定想要某些特殊的不相交路径到达目标,那么肯定有更好的方法。(不过我仍然不知道你所说的有3个目标节点是什么意思...只是做这3次,还是找到从 i 到 x、y 和 z 的路径,使得 i->x、i->y 和 i->z 不相交?) - Danica
i
到z
的路径,使得这些路径是不相交的?可能有许多这样的集合(取决于您选择哪条可能的路径)。所以也许您想做的是找到从i
到z
的所有路径(通过例如广度优先搜索),然后处理它们以找到一个不相交的集合。其中一种容易的方法,虽然不会找到最大的这样的集合或任何东西:选择一条路径从集合中,删除所有与该路径相交的其他路径,重复。 - Danicai
到x
、y
和z
的路径,使得i->x
、i->y
和i->z
不相交?) - Danica