4GB よりやや大きいグラフがあり、32 ビット マシンで扱えるサイズよりも大きくなっています。
グラフ内の特定のノードに (直接的および間接的に) 接続されている頂点の数をカウントするプログラムを作成したいと考えています。
一度にグラフ全体をメモリ/スワップにロードできない場合、どうすればよいですか?
編集:これは有向グラフであり、特定の頂点に(正しい方向に)到達できる頂点の数を実際に数えたいと考えています。
4GB よりやや大きいグラフがあり、32 ビット マシンで扱えるサイズよりも大きくなっています。
グラフ内の特定のノードに (直接的および間接的に) 接続されている頂点の数をカウントするプログラムを作成したいと考えています。
一度にグラフ全体をメモリ/スワップにロードできない場合、どうすればよいですか?
編集:これは有向グラフであり、特定の頂点に(正しい方向に)到達できる頂点の数を実際に数えたいと考えています。
それは、グラフの保存方法に大きく依存します。多くの場合、グラフ全体をロードする必要はありません。たとえば、グラフが隣接行列として保存されている場合、1 つの列/行を抽出するだけでよく、行列の保存方法 (固定長セルまたは HDF ファイルなど) に応じて、これを効率的に行う方法が多数あります。 . グラフが他のノードへのポインタを含むノードのリストとして保存されている場合、そのノードのデータだけを抽出できる場合があります。要するに、グラフをどのように保存するかによって異なりますが、多くの表現で実行可能です。重要な点は、一度にすべてをロードする必要がないように、表現をディスクに保存する必要があるということです。