我目前正在学习算法课程,而且我很难理解蛮力搜索和回溯的确切定义.据我了解,以下情况属实:
- 强力搜索(BFS)是一种算法,它计算问题的每个可能的解决方案,然后选择满足要求的解决方案.
- 显式约束给出了每个选择的可能值(例如,选择1-3限于
{1, 2},选择4限于{3, 4, 5}等),这决定了搜索的"执行树"的形状.
- 隐式约束将彼此的不同选择相关联(例如,选择2必须大于选择1等),其在BFS中用于移除潜在的解决方案.
- 回溯是BFS的扩展,其中在每次选择之后评估隐式约束(而不是在生成所有解决方案之后),这意味着潜在的解决方案可以在它们"完成"之前被丢弃.
基本上,我只是想知道这是否准确,如果不是,我真的很感激一些澄清.提前致谢.