У меня есть сеть, в которой я нашел попарно кратчайшие пути между всеми узлами. И я также нашел промежуточные кратчайшие последовательности путей. Эти промежуточные кратчайшие последовательности последовательности представляют собой последовательности, такие как, например, кратчайшая последовательность пути от узла B до узла D является BCAD, тогда промежуточная последовательность узлов представляет собой C A. Я получаю результат промежуточной кратчайшей последовательности не в форме идентификаторов, а в числовой форме , Для получения вершин последовательности я попытался следующим, но в вершинных последовательностях я получаю символ (0) в качестве output.My желаемому выхода C A.Печать промежуточных последовательностей вершин в r
library(igraph)
g <- graph.ring(10)
V(g)$name <- LETTERS[1:10]
LETTERS[1:10]
tm <- get.all.shortest.paths(g,"B","D")
tm$res[[1]]
print(V(g)[tm$res[[1]]]) # printing the vertex sequences
for(i in 1:length(V(g))) {
for(k in 1:length(V(g)))
{
temp <- get.all.shortest.paths(g,i,k) # finding the shortest paths between all nodes
print(temp$res[[1]]) #printing the result of shortest paths
for(j in 1:length(temp$res)) {
d <- head(tail(temp$res[[j]], length(temp$res[[j]])-1),-1) # Show me only intermediate nodes
print(d)
e <- head(tail(V(g)[temp$res[[1]]], length(V(g)[temp$res[[1]]])-1),-1) # Show me only intermediate vertex sequences
print(e)
}
}
}
В результате переменных е в моем сценарии я хочу иметь промежуточные короткие вершины. Как и для кратчайшего пути от узла A до C, кратчайшая последовательность пути A B D C, тогда я хочу иметь промежуточные узлы в качестве моего результата, за исключением двух узлов, которые являются от и до самой краткой траектории.
Привет @dig Спасибо большое. Его полностью работают и благодарим вас за замечания, которые вы дали .. :) –
Привет @dig У меня есть один вопрос, что если я хочу получить доступ к этому результату вне цикла for ...? потому что я хочу найти самый частый узел среди всех этих. Поэтому мне нужно получить доступ к результату вне цикла for. –
@seemaaswani: изменил код в соответствии с вашими комментариями. Обратите внимание, что, если вам больше не нужна печатная информация, вы должны удалить ее из цикла, чтобы ускорить выполнение;) – digEmAll