来自networknx python的子图函数

时间:2015-10-31 21:51:34

标签: python graph subgraph

我想问一下是否有人可以帮助我理解这个python模块中的子图函数。例如,在一些简单的图表上。子图功能在第1400行和第1458行之间。

https://github.com/networkx/networkx/blob/e73face328281b9afe7eb848887f17d97be1709d/networkx/classes/graph.py#L1400-L1458

1 个答案:

答案 0 :(得分:1)

这是该函数的一些伪代码。

def get_subgraph(existing_graph, node_ids):
    get the nodes that correspond to the node_ids
    create a new graph, make sure it is the same type
    for each node in the list of chosen nodes:
        copy the node to the new graph, retaining its associated data
    get a lookup table of edges for the nodes in the new graph
    for each node in the new graph:
        get its neighbors from the old graph
        for each of the neighbors:
            if the neighbor is in the new graph:
                add the edge to the new graph (from both directions if needed)