Graph 从回溯的角度解释BFS和DFS

Graph 从回溯的角度解释BFS和DFS,graph,backtracking,depth-first-search,breadth-first-search,Graph,Backtracking,Depth First Search,Breadth First Search,维基百科关于深度优先搜索: 深度优先搜索(DFS)是一种 遍历或搜索的算法 树、树结构或图形。一个 从根开始(选择一些 节点(在图形中为根) 并尽可能沿着 回溯之前的每个分支。 那么什么是广度优先搜索? “选择起始点的算法 节点,检查所有节点的回溯, 选择最短路径,选择相邻节点回溯, 最后选择了最短的路径 查找最佳路径,因为 由于连续性,正在遍历每条路径 回溯 Regexfind的修剪——回溯? “回溯”一词因其用途的多样性而令人困惑。UNIX的find使用回溯来修剪SO用户。如果您不限制正则表

维基百科关于深度优先搜索:

深度优先搜索(DFS)是一种 遍历或搜索的算法 树、树结构或图形。一个 从根开始(选择一些 节点(在图形中为根) 并尽可能沿着 回溯之前的每个分支。

那么什么是广度优先搜索?

“选择起始点的算法 节点,检查所有节点的回溯, 选择最短路径,选择相邻节点回溯, 最后选择了最短的路径 查找最佳路径,因为 由于连续性,正在遍历每条路径 回溯

Regex
find
的修剪——回溯?

“回溯”一词因其用途的多样性而令人困惑。UNIX的
find
使用回溯来修剪SO用户。如果您不限制正则表达式的范围,Regex Buddy使用“灾难性回溯”一词。这似乎是一个使用太广泛的总括术语。因此:

  • 如何定义图论中的“回溯”
  • 什么是广度优先搜索和深度优先搜索中的“回溯”
  • [新增]

    回溯和示例的良好定义

  • 史泰尔曼(?)发明的术语
  • 回溯与示例

  • 这种混淆是因为回溯是在搜索过程中发生的事情,但它也指一种特定的解决问题的技术,在这种技术中进行了大量的回溯。这种程序被称为回溯程序

    想象开车进入一个街区,总是在你看到的第一个转弯处转弯(假设没有环路),直到你到达一个死胡同,然后你开车回到下一条无人拜访的街道的十字路口。这是“第一”种回溯,大致相当于这个词的口语用法

    更具体的用法是指一种解决问题的策略,类似于深度优先搜索,但当它意识到不值得继续向下搜索某个子树时,会返回

    换句话说,一个天真的DFS会盲目地访问每个节点,直到它达到目标。是的,它会“回溯”“在叶节点上。但是回溯者也会回溯无用的分支。其中一个例子是在Boggle板上搜索单词。每个图块周围都有8个其他图块,因此树很大,而朴素的DFS可能需要太长时间。但是当我们看到像“ZZQ”这样的组合时,我们可以从这一点上安全地停止搜索,因为添加更多的字母不会使它成为一个单词

    我喜欢朱莉·泽伦斯基教授的这些讲座。她用回溯法解决了8个皇后、一个数独难题和一个数字替换难题,一切都很好地动画化了。

    树是任意两个顶点之间只有一条路径的图。这消除了循环的可能性。搜索图形时,通常会有一些逻辑来消除循环,因此行为是相同的。此外,对于有向图,不能沿“错误”方向跟随边

    据我所知,在Stallman的论文中,他们开发了一个逻辑系统,它不只是对查询说“是”或“否”,而是通过进行最小数量的更改来建议对错误查询的修复。您可以看到回溯的第一个定义可能在哪里发挥作用