コード例 #1
0
g.add_vertex('J')
g.add_vertex('K')
g.add_vertex('L')
g.add_vertex('M')
g.add_vertex('N')
g.add_vertex('O')

g.add_edge('root', 'A')
g.add_edge('root', 'B')
g.add_edge('A', 'C')
g.add_edge('A', 'D')
g.add_edge('B', 'E')
g.add_edge('B', 'F')
g.add_edge('C', 'G')
g.add_edge('C', 'H')
g.add_edge('D', 'I')
g.add_edge('D', 'J')
g.add_edge('E', 'K')
g.add_edge('F', 'L')
g.add_edge('F', 'M')
g.add_edge('H', 'N')
g.add_edge('L', 'O')

g.print_graph()
print(*[v._id for v in topo_sort(g)])

# N -> H -> C -> A -> root
print(*reversed([v._id for v in a_star(g, 'root', 'N')]), sep=' -> ')
# root -> B -> F -> L -> O
print(*[v._id for v in a_star(g, 'root', 'O')], sep=' -> ')