BFS的基本算法:
set start vertex to visited
load it into queue
while queue not empty
for each edge incident to vertex
if its not visited
load into queue
mark vertex
所以我认为时间复杂度是:
v1 + (incident edges) + v2 + (incident edges) + .... + vn + (incident edges)
其中v
是顶点1
到n
首先,我所说的是否正确?其次,这为什么是O(N + E)
,有直观的解释会很好。谢谢。