https://github.com/lightquantumarchive/online-transitive-closure-rs
Online Transitive Closure (and SCC)
https://github.com/lightquantumarchive/online-transitive-closure-rs
Last synced: about 1 year ago
JSON representation
Online Transitive Closure (and SCC)
- Host: GitHub
- URL: https://github.com/lightquantumarchive/online-transitive-closure-rs
- Owner: LightQuantumArchive
- License: apache-2.0
- Created: 2021-05-14T23:11:27.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2021-05-15T21:01:41.000Z (about 5 years ago)
- Last Synced: 2025-03-26T22:43:01.231Z (about 1 year ago)
- Language: Rust
- Size: 23.4 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Online Transitive Closure (SCC)
Let G= be a directed graph, G*= its transitive closure. Let E* be represented by incidence matrices.
Suppose edges are inserted in G one at a time. We consider the problem of efficiently updating G* each time an edge
is inserted.
This algorithm for updating G* in the case of edge insertions requires O(|Enew||V|) time for
q consecutive insertions.
The algorithm especially yield better time complexity for graphs with Eold << |E*| and for graphs
with relatively small components.
This crate only implements adding edges and G_c & G*.
Please refer to the original paper for details:
La, J. & Leeuwen, Poutr & Informatica, Vakgroep & Nthrlan, The. (2001). Maintenance Of Transitive Closures And Transitive Reductions Of Graphs.