BFS 模板

来源:互联网 发布:json数组按key拆分 编辑:程序博客网 时间:2024/06/11 17:48
//完整的bfs有3重循环,考虑要不要分层要不要写第二重循环//不需分层的情况:直接遍历所有的点即可Queue<node> queue = new LinkedList<>();//无向图的遍历需要记录访问过的点Set<node> hash = new HashSet<node>();int level = 0;queue.add(head);while (!queue.isEmpty()) {int size = queue.size();level++;for (int i = 0; i < size; i++) {node n = queue.poll();for (node next : n.neighbors) {if (!hash.contains(next)) {hash.add(next);queue.offer(next);}}}}

0 0
原创粉丝点击