図の隣接表表示法
通常,図論の実装は隣接行列で実現され,便利で結果も直感的であるが,データ量が比較的大きいと,消費されるリソースが非常に多い.したがって,隣接テーブルを用いて図中の情報について,関連情報を読み出す際は隣接マトリクスより複雑であるが,記憶容量は小さく,O(|V|+|E|)のメモリ空間しか必要としない.
c++で実現される隣接テーブルの記憶:
c++で実現される隣接テーブルの記憶:
#include
#include
#include
#include
#include
using namespace std;
const int maxn = 1000;
vector<int> G[maxn];
int main()
{
int V, E;
scanf("%d%d", &V, &E);
for(int i = 0; i < E; i++)
{
int s, t;
scanf("%d%d", &s, &t);
G[s].push_back(t);
}
return 0;
}