flipedge

Inverte o sentido das arestas de um dígrafo.

Categoria: Mathematics > Graph and Network Algorithms

Sintaxe

H = flipedge(G)

Inverte todas as arestas.

H = flipedge(G, idx)

Inverte apenas as arestas listadas em idx.

Descrição

Uma aresta s -> t vira t -> s. Inverter todas as arestas dá o grafo transposto, cuja matriz de adjacência é a transposta da original; perguntas de alcançabilidade do tipo "quem me alcança" em G viram "quem eu alcanço" em H.

Para um grafo não direcionado não há o que inverter, então a função se destina a dígrafos.

Argumentos de entrada

G
Um digraph.
idx
Índices de arestas (posições em G.Edges).

Argumentos de saída

H
Um digraph com os mesmos nós e pesos, e as arestas escolhidas apontando no sentido oposto.

Exemplo

Inverter todas ou uma aresta

D = digraph([1 2], [2 3]);
F = flipedge(D);
disp(F.Edges.EndNodes)
E = flipedge(D, 1);
disp(E.Edges.EndNodes)
Saída
     2     1
     3     2
     2     1
     2     3

Veja também

digraph predecessors successors adjacency