代码拉取完成,页面将自动刷新
class Node:
def __init__(self, name = None, color = 'white', successors = []):
self.name = name
self.color = color
self.successors = successors
def top_order(G):
L = []
nameList = []
for ele in G:
if ele.color == 'white':
L.extend(dfs(G,ele))
if -1 not in L:
L.reverse()
## nameList = list(map(lambda x: x.name, L))
for knoten in L:
nameList.append(knoten.name)
return nameList
else:
return [-1]
def dfs(G, r):
besuchtList = []
stack = []
r.color = 'grey'
stack.append(r)
while stack != []:
v = stack[-1]
a = False
for n in v.successors:
if n.color == 'grey':
return [-1]
for n in v.successors:
if n.color == 'white':
n.color = 'grey'
stack.append(n)
a = True
break
if not a:
v.color = 'bleak'
besuchtList.append(stack.pop())
return besuchtList
A = Node("内裤",'white',[])
B = Node("秋裤",'white',[])
C = Node("牛仔裤",'white',[])
D = Node("袜子",'white',[])
E = Node("鞋子",'white',[])
F = Node("秋衣",'white',[])
G = Node("外套",'white',[])
A.successors = [B]
B.successors = [C]
C.successors = [E]
D.successors = [E]
F.successors = [G]
G = [E,C,D,B,A,G,F]
print(top_order(G))
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。