BFS(Breadth First Search):广度优先搜索算法
二、BFS用于解决两类问题:
1). 从A出发是否存在到达B的路径
2). 从A出发到达B的最少步骤
三、BFS通用流程:
1). 构建Node类,加合适属性;
2). 初始化队列,将起点offer进队列;
3). 消费Queue中的对象,poll的同时判断有没有新数据要offer进来放在队列尾,同时标记已经消费过的对象(检查一个新数据时,要确认之前没检查过它,防止死循环);
4). 循环,直到找到目标或者遍历结束。
HashMap<String,String[]> map = new HashMap<>();
map.put("A", new String[] {"B","C"});
map.put("B", new String[] {"E"});
map.put("C", new String[] {"D","F"});
map.put("D", new String[] {"E"});