NetworkX を使用して、グラフのエッジ (頂点のペア) を記述するタプルのリストを取得しました。
G = [(1, 2), (1, 3), (1, 4), (2, 4), (3, 8), (4, 5), (8, 15), (5, 6), (5, 7), (6, 17), (7, 11), (7, 15), (7, 16), (17, 12), (11, 12), (11, 13), (15, 9), (15, 10), (16, 9), (9, 18), (18, 13), (18, 14), (10, 14)]
このリストを使用して、各頂点をループし、隣接する各頂点を見つけたいのですが、これを順番に実行したいと考えています。だから私が取得したいのは、たとえば、i
頂点の各隣接を含む th サブリストを持つネストされたリストi
です。
Neighbors = [[2, 3, 4], [1, 4], [1, 8], [1, 2, 5], [4, 6, 7], [5, 17], [5, 11, 15, 16], [3, 15], [15, 16, 18], [14, 15], [7, 12, 13], [11, 17], [11, 18], [10, 18], [7, 8, 9, 10], [7, 9], [6, 12], [9, 13, 14]]
ですが、別のソートされたデータ構造である可能性もあります。
ただし、グラフには 100 万のエッジと頂点が含まれる可能性があるため、ランタイムを低く抑えたいので、頂点ごとにリスト全体をループしないルーチンを実現したいと考えています。
これを達成する方法はありますか?どんな助けでも大歓迎です。