关于不断发展的图表的DFS

时间:2014-03-21 19:19:49

标签: algorithm graph depth-first-search

我认为我相当确定问题的DFS算法不应该与普通DFS有任何不同,但只是想从其他人那里得到一些反馈。这是我的问题:

我想在一个我不知道所有节点的图表上执行DFS。当我开始搜索时,我所知道的只是起始节点。根据起始节点的属性,我可以确定它的子节点集。刚刚发现的节点的子节点可以如上所述进一步发现。

我计划使用类似于普通DFS的算法(其中Graph事先已知),除了每次到达节点时,我现在需要发现它的子节点。

这是一种合理的方法吗?我错过了什么?

2 个答案:

答案 0 :(得分:0)

这似乎是一种非常合理的方法。

然而,如果不知道你想要做什么的具体细节,那么接下来就不可能确定它是否会起作用或者是最好的方法。

如果这是一个很大的(可能是无限的)图形(或者它包含循环,并且有太多的节点可以跟踪所有这些节点,就像你做DFS一样,以防止卡在一个循环中)并且你正在寻找某个节点在图表中不太深,BFSDFS with iterative deepening可能是更好的主意。

答案 1 :(得分:0)

DFS代表深度优先搜索。通过“搜索”,它意味着它不知道它前面的是什么。因此,已知图表上的DFS与图表上的DFS没有区别,您可以在到达父母时了解孩子。