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