我从另一个question
的答案中看到了这一点 IVlad说堆栈将包含循环。但是在搜索图表的过程中,构成周期的节点是否会在此过程中弹出?也许他的意思是在访问过的节点堆栈中?但即使这样,访问堆栈也不能完全包含循环。我的意思是虽然循环在那里,它可能有其他访问节点夹在循环之间?
答案 0 :(得分:0)
当您使用DFS在图形中查找循环时,通常使用递归方法来实现DFS。递归方法使用堆栈来存储它们的数据,当您在递归方法中找到一个循环时,您拥有接收当前节点的所有路径。 IVlad的意思是运行程序堆栈而不是用于实现DFS方法的堆栈。
此外,您可以将节点(Path)存储在另一个堆栈中。