LeetCode----机器人的运动范围python

 

 

看了力扣的官方题解,用到广度优先搜索,没有确认过眼神,是一个新的知识点。

------------------------------------------------------广度优先搜索-------------------------------------------------

广度优先搜索BFS(Breadth First Search)也称为宽度优先搜索,它是一种先生成的结点先扩展的策略。

这个知识点是一个图搜索算法。

用python来表视图,需要的是每个节点的相邻节点,有点类似树的结构。

graph={'A':['B','C'],
       'B':['A','C','D'],
       'C':['A','B','D','F'],
       'D':['B','C','E','F'],
       'E':['C','D'],
       'F':['D']}

这是一个无向图,BFS广度优先算法,将这个图进行分层遍历。给定一个起点,假设是A(存储A),A的相邻节点是B,C(存储A,B,C),然后B的相邻节点是A,C,D,其中A,C已经出现过,不考虑,D没有出现过(存储A,B,C,D)。再来考虑C的相邻节点,A,B,D,F,其中A,B,D出现过,考虑F(存储A,B,C,D,F).再来考虑D的相邻节点B,C,E,F,其中B,C,F出现过,E没有出现过(存储A,B,C,D,F,E)。再来考虑F的相邻节点D,D出现过,(此时存储的还是A,B,C,D,F,E),再来考虑E相邻节点C,D,都出现过。此时(A,B,C,D,F,E)就是使用BFS对这张图的搜索(在这里是遍历)过程。

由这个过程,首先生成一个节点,再查询它的相邻节点,且要判断相邻节点是否出现过,没有出现过的存起来,存起来的节点会根据存储顺序展开(查询它的相邻节点)。这里从A开始查询

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值