算法笔记的笔记——第8章 搜索专题

深度优先搜索(DFS)

  • 枚举所有完整路径以遍历所有情况

实现

  • 使用递归可以实现深度优先搜索
  • 可以通过条件限制节省DFS计算量,方法称作剪枝

广度优先搜索(BFS)

  • 优先访问能直接到达的所有结点
  • 队列

实现

void BFS(int s) {
    queue<int> q;
    q.push(s);
    while (!q.empty()) {
        取出队首元素top;
        访问队首元素top;
        将队首元素出队;
        将top下一层节点中未入队的全部入队,并设置为已入队;
    }
}
  • 设置inq数组,含义为结点是否已入过队(而非结点是否已被访问)
  • STL的queue创造元素副本,原元素和队列中的副本互不影响
posted @   Secant1006  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
点击右上角即可分享
微信分享提示