在给定邻接矩阵的情况下,我使用网络来获取每个节点的邻居。
例如:
my_graph = nx.from_numpy_matrix(adjacency_matrix)
my_graph.neighbors(0)
返回第一个节点的邻居。换句话说,一阶邻居
为此,我对所有节点执行了以下操作:
import networkx as nx
my_graph = nx.from_numpy_matrix(adjacency_matrix)
number_nodes=len(adjacency_matrix)
for z in np.arange(number_nodes):
indexes = [n for n in my_graph.neighbors(z)]
我在寻找什么?
允许获取第二个,第n个第n阶邻居的功能
示例:
二阶邻居:
假设node_1是与node_2的邻居(一阶邻居);并且node_2是与node_4的邻居(第一个邻居)然后::node_1是与node_4的二阶邻居和与node_2的一阶邻居:
因此,预期输出为 node_1_neighbors = [2,4]
三阶邻居:
假设node_1是与node_2的邻居(一阶邻居);并且node_2是与node_4的邻居(一阶邻居),而node_4是与node_5的邻居(一阶邻居)那么:node_1是与node_5的三阶邻居,与node_4的二阶邻居和与node_2的一阶邻居:
因此,预期输出为 node_1_neighbors = [2,4,5]
谢谢