5

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

4

2 回答 2

10

图 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()))
于 2013-05-18T19:53:22.383 回答
6

有内置函数networkx可以检查给定图形的类型。

要检查它是否是一棵树,请运行networkx.is_tree(g). 请参阅文档中的树算法networkx

于 2020-07-08T08:59:24.973 回答