我试图实现一种算法来查找有向图的两个节点之间的路径。
我已经厌倦了很多,但我找不到任何符合我要求的东西(Dijkstra,Bellman-Ford,DFS,......)
在我的情况下,我有一个函数,它给了我以下节点(它可以有不同的实现),因此,在我的算法的第一个版本中,我只是使用该函数来遍历图形。
问题,我可以在循环中被阻止。
解决方案1 :存储使用的节点,不遵循该节点的边缘。 这对我来说不是一个好的解决方案,因为我想进入循环而不是无限。
解决方案2 :存储使用的边缘,不要使用它们两次。我可以进入循环,但我可以从未使用的边缘出去。但是如果我使用了从节点出来的所有边缘并且再次到达该节点,我仍然可以被阻止。我试图在这种阻塞情况下不考虑使用的边缘,但它不是一个好的解决方案,因为我可以进入无限的llop(我认为/没有被探测过)
现在,我处于起点,我想为我的问题找到一个很好的解决方案,但经过一些调查后我无法找到它。
我的想法是使用自定义函数实现DFS算法以获取以下节点,但我需要以某种方式处理循环问题。