简体   繁体   English

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

[英]Check if an undirected graph is a tree in networkx

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

The fastest way for a graph G(V,E) might be to check if |V|图 G(V,E) 的最快方法可能是检查 |V| = |E| = |E| + 1 and that G is connected: + 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()))

There are built-in functions in networkx to check the type of a given graph. networkx有内置函数来检查给定图形的类型。

To check if it's a tree, run networkx.is_tree(g) .要检查它是否是树,请运行networkx.is_tree(g) See algorithms for trees in networkx documentation .请参阅networkx文档中的树算法

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM