主要的就是记step
是一个模拟器,相当于有多条分叉可以走,全都一起走,为了保证不重复访问其他分叉走过的,那就有一个标记数组,表示是否已经访问。在实现模型上是队列来实现,但这不是本质的,队列只是模拟一个离散化的时间,此刻这个队列是哪些流到达了。
step就像time一样,各个水流按着同样的速率向前流动,一般是一个step。我是觉得只有理解了网络流才能真正理解bfs。其他简化的bfs都不是本质重要的。
其次就是流会遇到阻塞,包括不允许的状态,越界状态。甚至可以认为访问过的也是一种阻塞。如果不是阻塞就可以继续流动。一般的bfs会有个终止状态,这个时候流停止,所有的东西都停止。