Основной алгоритм для 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)
, и интуиция относительно того, почему было бы действительно приятно. Благодаря