Не изначально, но это должно быть легко приблизительно:
function ancestors(g, src)
reverse!(g)
a = reduce(union, enumerate_paths(dijkstra_shortest_paths(g, src))
reverse!(g)
return a
end
Это потребует проверки, и это немного рискованно в случае выхода из функции до второго reverse!
, но это намного эффективнее, чем неизменяемый reverse()
.