搜索
文章平均质量分 93
短尾黑猫
这个作者很懒,什么都没留下…
展开
-
BFS
广度优先搜索(BFS) BFS介绍 树和图的广度优先遍历都需要使用一个队列来实现。 在过程中,我们不断从队头取出一个节点x,对于x面对的多条分支,把沿着每条分支到达的下一个尚未访问过的节点插入队尾。 BFS有两个重要性质: 在访问完所有的第 iii 层节点后,才会开始访问第 i+1i+1i+1 层节点。 任意时刻,队列中至多有两个层次的节点。若其中一部分节点属于第 iii 层,那么另一部分节点就属于第 i+1i+1i+1 层,并且所有第 iii 层节点排在第 i+1i+1i+1 层节点之前。也就是说,广度原创 2021-03-26 16:49:22 · 249 阅读 · 0 评论 -
DFS
深度优先搜索(DFS) DFS介绍 深搜,就是在每个点 x 上面对多条分支时,任意选择一条边走下去,执行递归,直至回溯到点 x 后,再考虑走其他的边。 树的DFS序、深度和重心 这个很简单,不写了 深搜剪枝 优化搜索顺序 大部分情况下,我们应该优先搜索分支较少的节点。 排除等效冗余 在搜索的时候,尽量不搜索重复的状态,即在不考虑顺序的时候,尽量用组合的方式来搜索。 可行性剪枝 搜索的一半的时候,发现不合法就可以退出。 最优性剪枝 搜索到某一个程度的时候,如果发现当前的状态无论如何都比之前搜索原创 2021-03-26 16:45:19 · 193 阅读 · 1 评论