隣接リストの形式である有向グラフのG^2を計算するためのアルゴリズムを構築しようとしています。ここで、G^2 = (u、v)∈E 'と定義される。ここで、uとvとの間にGの長さ2のパスがあるとすると、(V、E')私のアルゴリズムのランタイムはO(VE^2)です。ここで、Vは頂点の数、Eはグラフの辺の数です。より効率的にするためにO(VE)時間にこれをどうやってやることができるのだろうと思っていましたか? (!N =隣人)
then-場合(場合>隣人
におけるnの隣人
に隣人のために頂点
に頂点のため隣接グラフの二乗を計算するアルゴリズム
:ここ
はアルゴリズムであり、私が思い付きましたn.value == neighbor)
これを新しい隣接リストに追加
break; //これは、頂点と隣接
間のサイズ2の経路を発見した意味さもなければ