LinkedInには、あるユーザーのプロファイルにアクセスしているときに、ネットワークを介してそのユーザーに接続する方法を尋ねるこの優れた機能があります。
訪問者とプロファイル所有者がグラフの2つのノードであり、ノードがユーザーを表し、エッジが友情を表すと仮定すると、単純な解決策は、両方のノードから特定のレベルまでのbfsで、交差点があるかどうかを確認することです。交差点はネットワークリンクノードになります。
これはきちんと聞こえますが、問題は、各人の友達を特定するために、個別のDBクエリが必要になることです。ネットワークが2レベルより深くなると、非常に時間のかかるアルゴリズムになります。より効率的な代替手段はありますか?そうでない場合、計算に必要な時間を短縮するために、より良いハードウェアサポート(並列コンピューティング、グリッド、分散データベースなど)を追加するにはどうすればよいですか?