图的宽度优先遍历(BFS)java源码

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/as1072966956/article/details/82942952


import java.util.HashSet;
import java.util.LinkedList;
import java.util.Queue;
/**
 * 
 * 图的宽度优先遍历
 * 
 */
public class Code_01_BFS {

	public static void bfs(Node node) {
		if (node == null) {
			return;
		}
		Queue<Node> queue = new LinkedList<>();
		HashSet<Node> map = new HashSet<>();
		queue.add(node);
		map.add(node);
		while (!queue.isEmpty()) {
			Node cur = queue.poll();
			System.out.println(cur.value);
			for (Node next : cur.nexts) {
				if (!map.contains(next)) {
					map.add(next);
					queue.add(next);
				}
			}
		}
	}

}

猜你喜欢

转载自blog.csdn.net/as1072966956/article/details/82942952