我有一个很大的DiGraph由依赖的工作组成。例如,对于图 a>b>c,作业 c 只能在作业 b 完成后运行。我试图找到一个函数来获取所有 c 的上游作业(即 (a, b))。我用过DiGraph.predecessors,但它只返回作业 b。
是否有一个函数可以列出所有 c 的上游作业?
如何绘制叶节点(如作业 c)的依赖关系图?
我已阅读文档但找不到答案。
我有一个列表作为c4_leaves = [56,78,90,112]. 我正在尝试使用这些元素c4_leaves作为节点创建一个完整的图形。这是我尝试过的;
V_ex = c4_leaves
G_ex = nx.Graph()
G_ex.add_nodes_from(V_ex)
G_ex = nx.complete_graph(4)
for u,v in G_ex.edges():
G_ex[u][v]['distance'] = distance(points33, u, v)
Run Code Online (Sandbox Code Playgroud)
然后上图的最小生成树为:
T_ex= nx.minimum_spanning_tree(G_ex, weight='distance')
F_ex = list(T_ex.edges())
Run Code Online (Sandbox Code Playgroud)
当我绘制时G_ex,它给了我正确的图形,但是当我打印最小生成树的详细信息时,它显示T_ex.nodes() = [0,1,2,3,56,78,90,112].
有人可以告诉我我正在做的错误吗?