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.