
搜索
文章平均质量分 94
短尾黑猫
这个作者很懒,什么都没留下…
展开
-
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 · 370 阅读 · 0 评论 -
DFS
深度优先搜索(DFS)DFS介绍深搜,就是在每个点 x 上面对多条分支时,任意选择一条边走下去,执行递归,直至回溯到点 x 后,再考虑走其他的边。树的DFS序、深度和重心这个很简单,不写了深搜剪枝优化搜索顺序大部分情况下,我们应该优先搜索分支较少的节点。排除等效冗余在搜索的时候,尽量不搜索重复的状态,即在不考虑顺序的时候,尽量用组合的方式来搜索。可行性剪枝搜索的一半的时候,发现不合法就可以退出。最优性剪枝搜索到某一个程度的时候,如果发现当前的状态无论如何都比之前搜索原创 2021-03-26 16:45:19 · 275 阅读 · 1 评论