数百万のエッジを持つ有向グラフが与えられた場合、ノードごとに見つけようとしています。
隣人の隣人のリスト (それらを呼びましょう
two_nei)。two_nei( と呼ばれる)のそれぞれとの共通の近隣の数cn。
私がこの問題にアプローチしている方法は次のとおりです。
dict各ノードをキーとして を作成し、listすべての隣接ノードを値として含む を作成します (neighbor_dictionary)。dict各ノードをキーとして を作成しlist、ネイバーのすべてのネイバー (two_neiこのノードの) を値として含む を作成します (second_dictionary)。今、グラフ内のすべてのノードを使用して、
list(何をすべきかわからないため)を作成したいと考えています。dictこれらの各辞書には、各two_neiノードがキーとして含まれ、値はそれらが持つ共通の近隣の数になります。
ご覧のとおり、これは簡単に複雑になります。Pythonでこれを行うには、よりシンプルでエレガントな方法があると確信しています。私は数学が得意で、データ構造にもアルゴリズムにもクラスはありませんでしたが、キューを使用してこれを解決できると確信しています。
どんな助けでも大歓迎です。