我最近尝试以非递归方式实现dfs。我发现有两个单独的概念:探索节点和访问节点。差异是什么?
如果我跟踪探索/访问节点的顺序,各个订单代表什么?
答案 0 :(得分:0)
没有区别。深度优先搜索每个节点只访问一次,我相信有些人可能会使用“探索”作为替代术语,但事实上“访问”更准确。 DFS访问节点的顺序没有精确定义 - 如果当前节点有多个子节点,您可以按任何顺序递归它们,每个顺序导致访问所有节点的顺序不同。但是,如果您已经定义了孩子的顺序(例如,您将图表存储在邻居列表中),则按照此顺序访问孩子更自然。