Я новичок в С++ STL, и у меня возникают проблемы с пониманием представления графа.
vector<int> adj[N];
Итак, это создает массив векторного типа или создает вектор массивов? Кажется, что код BFS проходит через список значений, присутствующих в каждом экземпляре adj [i], и, следовательно, он работает как массив векторов. Синтаксис для создания вектора:
vector<int> F;
который мог бы эффективно создать одномерный вектор F.
В чем разница между
vector< vector<int> > N;
и
vector<int> F[N]