BFS

BFS(Breadth First Search):广度优先搜索算法

一、基本概念+代码举例

二、BFS用于解决两类问题:
    1). 从A出发是否存在到达B的路径
    2). 从A出发到达B的最少步骤

三、BFS通用流程:
    1). 构建Node类,加合适属性;
    2). 初始化队列,将起点offer进队列;
    3). 消费Queue中的对象,poll的同时判断有没有新数据要offer进来放在队列尾,同时标记已经消费过的对象(检查一个新数据时,要确认之前没检查过它,防止死循环);
    4). 循环,直到找到目标或者遍历结束。

四、图是一系列的节点和边,可以用一个hashMap表示图

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"});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值