У меня есть код, который делает что-то вроде нахождения кратчайшего пути между узлом источника (ов) и узла назначения (d).Но я хочу показать трансляцию этих требований между прошедшими узлами.Но в моем случае я хочу, чтобы NOT пересылал мои требования предшественникам моего узла источника.например, для кратчайшего пути [2,3,5] я хочу показать, что мое требование перенаправляется на [(2,3), (3,5) (3,6), (5,8)], но ссылки [(2,1), (2,4), (4,7)] НЕ получить мое требование.Я не могу прикрепить изображение моего MST, но, возможно, это сделает его более ясным, но вот код:
T1 = nx.Graph()
T1.add_edges_from([(1, 2), (2, 3), (2, 4), (3, 5), (3, 6), (4, 7), (5, 8)])
T1 = G.to_directed()
print(T1.edges)
s = int(input('Enter source node:'))
t = int(input('Enter target node:'))
par_node = s
path_T1 = nx.dijkstra_path(T1, s, t)
print('shortest path between s and t:', path_T1)
for i in path_T1:
if i == par_node:
print('origin node (signal not forwarded)', s)
else:
pred = list(T1.neighbors(i))
for j in pred:
if j == par_node:
print('Demand not forwarded on origin links') #to avoid link 3-2
else j!= pred:
links = T1.edges(j)
print('Demand forwarded on following links:', links)
Я пробовал несколько способов найти соседей на 3, а затем на 5, а затем переадресовал мойтребования.но это не похоже на работу.я попытался использовать BFS / DFS края.но поскольку они не прекращают поиск на узлах предшественников, я хочу найти способ фильтрации этих значений.