Fermeture transitive en ligne meilleure que O (N ^ 2) par addition de bord


15

Je recherche un algorithme en ligne pour maintenir la fermeture transitive d'un graphe acyclique dirigé avec une complexité temporelle inférieure à O (N ^ 2) par addition de bord. Mon algorithme actuel est comme ceci:

For every new edge u->v connect all nodes in Pred(u) \cup { u } with all nodes in Succ(v) \ \cup { v }.

Pour les bords O (N ^ 2), cela se traduit par une complexité temporelle totale de O (N ^ 4) bien pire que, par exemple, Floyd-Warshall .

Réponses:


15

O (n) temps par ajout de bord:


2
Voir aussi: DM Yellin. Accélérer la fermeture transitive dynamique pour les graphiques de degrés bornés. Acta Informatica, 30: 369–384, 1993.
Jeffε

1
Le premier article fournit deux opérations importantes à partir de la fermeture transitive, mais j'en ai besoin d'une troisième: itérer sur tous les nœuds accessibles. Le deuxième article est bon, cependant.
Alexandru
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.