R: Topological sort of a DAG

Topological sort of a DAG {Rfast} | R Documentation

## Topological sort of a DAG

### Description

Topological sort of a DAG.

### Usage

    topological_sort(dag)

### Arguments

`dag` | A square matrix representing a directed graph which contains 0s and 1s. If G[i, j] = 1 it means there is an arrow from node i to node j. When there is no edge between nodes i and j if G[i, j] = 0.

### Details

The function is an R translation from an old matlab code.

### Value

A vector with numbers indicating the sorting. If the dag is not a Directed acyclic Graph, NA will be returned.

### Author(s)

Michail Tsagris and Manos Papadakis

R implementation and documentation: Michail Tsagris <mtsagris@uoc.gr> and Manos Papadakis <papadakm95@gmail.com>

### References

Chickering, D.M. (1995). A transformational characterization of equivalent Bayesian network structures. Proceedings of the 11th Conference on Uncertainty in Artificial Intelligence, Montreal, Canada, 87-98.

### See Also

`floyd, pc.skel`

### Examples

    G <- matrix(0, 5, 5)
    G[2, 1] <- 1
    G[3, 1] <- 1
    G[4, 2] <- 1
    G[5, 4] <- 1
    res<-topological_sort(G)
    G[2, 4] <- 1
    res<-topological_sort(G)

[Package Rfast version 2.0.4 Index]