図の隣接表表示法


通常,図論の実装は隣接行列で実現され,便利で結果も直感的であるが,データ量が比較的大きいと,消費されるリソースが非常に多い.したがって,隣接テーブルを用いて図中の情報について,関連情報を読み出す際は隣接マトリクスより複雑であるが,記憶容量は小さく,O(|V|+|E|)のメモリ空間しか必要としない.
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;
}