访问其成员应该没有问题,下面是一个广播树(高度1):
import networkx as nx
class Node:
def __init__(self,key,ts):
self.key=key
self.timestamp=ts
class Edge:
def __init__(self,n1,n2):
self.n1=n1
self.n2=n2
listnodes = [Node("root",-1)]+[Node("dummy name",random.randint(2,10000)) for i in range(9)]
listedges = [Edge(listnodes[0],listnodes[i+1]) for i in range(9)]
for x in nx.lexicographical_topological_sort(G, key=lambda n: n.timestamp):
print(x.key,x.timestamp)
G = nx.DiGraph()
for e in listedges:
G.add_edge(e.n1, e.n2)
list(G.nodes(data=True))
for x in nx.lexicographical_topological_sort(G, key=lambda n: n.timestamp):
print(x.key,x.timestamp)
如果我运行它,我会得到:
root -1
dummy name 65
dummy name 414
dummy name 686
dummy name 2328
dummy name 3031
dummy name 3651
dummy name 4023
dummy name 4153
dummy name 7710