检查无向图是否是networkx中的树

时间:2013-05-18 18:18:32

标签: python graph tree networkx

我想知道是否有一种简单的方法可以检查networkx中某个无向图是否为树

2 个答案:

答案 0 :(得分:8)

图G(V,E)的最快方法可能是检查是否| V | = | E | + 1并且G连接:

import networkx as nx
def is_tree(G):
    if nx.number_of_nodes(G) != nx.number_of_edges(G) + 1:
        return False
    return nx.is_connected(G)

if __name__ == '__main__':

    print(is_tree(nx.path_graph(5)))
    print(is_tree(nx.star_graph(5)))
    print(is_tree(nx.house_graph()))

答案 1 :(得分:3)

networkx中具有内置函数来检查给定图的类型。

要检查它是否是树,请运行networkx.is_tree(g)。参见algorithms for trees in networkx documentation