BFS在入队还是出队时记录距离
如果可以确定先入队的距离一定更小的话,则可以(先判断是否为初始值,如果是初始值,可以入队,则)在入队的时候记录距离,例如边权为1的BFS。
如果不能确定,
例如01BFS,可能先对1入队,再对0入队,
由于可以确保出队时是有序的,可以在出队时记录(类似dijkstra),
也可以在入队时记录距离(当前距离小于已经记录的距离),且出队时判断/更新vis(表示是否已经搜索过更小的距离,也可以不做这个判断,在下一步搜索时会直接被卡掉)。(初始化为正无穷,通用做法)
所以通用的做法是,初始化为正无穷,入队时判断是否小于已经记录的距离?