У меня была такая же проблема с техникой проверки с использованием графиков, над которыми я работаю.Если вы будете работать с огромным количеством данных (вершинами, а также ребрами), вам следует использовать точно настроенную структуру данных, созданную вами самостоятельно.
Если у вас много ребер, вам следует рассмотреть возможность использования матрицы смежности.Ребра имеют веса, поэтому вы можете использовать что-то вроде этого:
vector<int> vertices;
vector<vector<int> > edges;
Вы можете использовать оптимизированный vector<vector<bool> >
, который использует только один бит для представления каждого ребра, если у ребер не было свойства.
Несмотря на то, что матрица смежности является быстрой, если вы хотите проверить ребро или добавить его, нехорошо перебирать ребра.в моем собственном графике мой график намного меньше.