networkx有向图或二叉树的root根节点,Python
原理:networkx有向图或者一棵二叉树,它的根节点(root节点)、出发源点,没有前驱(前继),或者称之为父节点。根据这一个原理,遍历所有networkx的节点,如果该节点没有前继节点(父节点),那么该节点就是整个有向图或树的root根节点。
def get_root_node(G):
node = None
for n in G.nodes(data=True):
predecessors = G.predecessors(n[0])
if len(list(predecessors)) == 0:
node = n
break
return node