tsort {pooh} | R Documentation |
Topological Sort
Description
Find One Total Order Consistent with Partial Order or With Directed Acyclic Graph
Usage
tsort(from, to, domain, strict = TRUE)
Arguments
from |
an atomic vector |
to |
an atomic vector of the same mode and length as |
domain |
an atomic vector of the same mode as |
strict |
logical. If |
Details
Pairs (from[i], to[i])
can be though of either as elements of
a relation on a set or as edges in a directed graph.
This function finds one total order on the domain (nodes of the graph)
that is consistent with the relation (graph) if one exists (that is if the
graph is directed).
Value
A vector that is a reordering of domain
so that every element of
from
appears in the value before the corresponding element of to
.
Throws an error if there is no consistent total order (the graph has a cycle).
Examples
from <- LETTERS[c(1, 1, 1, 1, 2, 2, 6)]
to <- LETTERS[c(2, 3, 4, 5, 3, 5, 7)]
from
to
tsort(from, to)