美文网首页
广度搜索模板

广度搜索模板

作者: km15 | 来源:发表于2020-03-04 16:38 被阅读0次
    void bfs(int s) {
        queue<int> q;
        q.push(s);
        while (!q.empty()) {
            取出队首元素top
            访问队首元素top
            将队首元素出队pop
            将top的下一层节点中未曾入队的节点全部入队,并设置为已入队
        }
    }
    

    注意:
    1、inq数组的含义只能是访问否,而不是是否入队,区别在于:有可能在队列中,但是还没出队,这样会造成重复入队
    2、STL的queue,元素入队的push操作还真是知道了该元素的一个副本入队,,因为对原元素的修改不会影响队列的副本,队列的修改也不会影响原元素
    ->所以如果需要修改,最好存放编号而不是元素本身

    相关文章

      网友评论

          本文标题:广度搜索模板

          本文链接:https://www.haomeiwen.com/subject/qmlmlhtx.html