BFS题型思路总结

题目
LCP07.传递信息

本题可以考虑从邻接矩阵的深度优先遍历(DFS)、邻接矩阵的广度优先遍历(BFS)入手求解。

首先需要将节点之间的关系存储到邻接矩阵中,之后采用BFS或DFS求解。

关于邻接矩阵的构建,其实vector一维数组就可以实现。
BFS:
需要借助一个队列存放遍历到的节点,首先将节点0入队,接着while()循环,出循环的条件是队列为空或者已经走过的节点数大于题目规定的轮数k。循环体内首先步数steps+1,之后取出队首元素,入队队首元素可以到达的元素。

之后如果走过的步数steps为轮数k,那么判断队列内的元素有多少个为最后一个节点的编号,即为总的路径数。

DFS:
沿着一个节点所能到达的节点一直走下去,在走了k步后,如果能到达最后一个节点则路径数+1。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值