topo_sort: Topological sorting of vertices in a graph

View source: R/structural.properties.R

topo_sortR Documentation

Topological sorting of vertices in a graph

Description

A topological sorting of a directed acyclic graph is a linear ordering of its nodes where each node comes before all nodes to which it has edges.

Usage

topo_sort(graph, mode = c("out", "all", "in"))

Arguments

graph

The input graph, should be directed

mode

Specifies how to use the direction of the edges. For “out”, the sorting order ensures that each node comes before all nodes to which it has edges, so nodes with no incoming edges go first. For “⁠in⁠”, it is quite the opposite: each node comes before all nodes from which it receives edges. Nodes with no outgoing edges go first.

Details

Every DAG has at least one topological sort, and may have many. This function returns a possible topological sort among them. If the graph is not acyclic (it has at least one cycle), a partial topological sort is returned and a warning is issued.

Value

A vertex sequence (by default, but see the return.vs.es option of igraph_options()) containing vertices in topologically sorted order.

Author(s)

Tamas Nepusz ntamas@gmail.com and Gabor Csardi csardi.gabor@gmail.com for the R interface

See Also

Other structural.properties: bfs(), component_distribution(), connect(), constraint(), coreness(), degree(), dfs(), distance_table(), edge_density(), feedback_arc_set(), girth(), is_acyclic(), is_dag(), is_matching(), k_shortest_paths(), knn(), reciprocity(), subcomponent(), subgraph(), transitivity(), unfold_tree(), which_multiple(), which_mutual()

Examples


g <- sample_pa(100)
topo_sort(g)


igraph documentation built on Oct. 20, 2024, 1:06 a.m.