Найдите узлы на расстоянии в networkx и python - PullRequest
0 голосов
/ 11 июля 2020

Есть ли в networkx способ найти все узлы на некотором расстоянии от определенного узла? Например, я указываю узел и расстояние и возвращаю обратно все узлы на этом расстоянии. Предполагается, что я добавил вес каждому ребру.

В качестве альтернативы, есть ли способ найти все узлы в указанных градусах от конкретного узла? Например, каковы все узлы в пределах 2 степеней разделения от конкретного узла? Степени означают, что узел соединен с узлом соединен с узлом. Спасибо за помощь!

1 Ответ

0 голосов
/ 12 июля 2020

Вы можете использовать функцию ego_graph библиотеки networkx:

node = 3 # The center node
radius = 3 # Degrees of separation
new_graph = nx.generators.ego_graph(graph, node, radius=radius)

Например:

import networkx as nx

G = nx.gnm_random_graph(n=n, m=30, seed=1)
G = nx.generators.ego_graph(G, 0, radius=2)

Original graph График с центром в 0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...