Cierre transitivo en línea mejor que O (N ^ 2) por adición de borde


15

Estoy buscando un algoritmo en línea para mantener el cierre transitivo de un gráfico acíclico dirigido con una complejidad temporal menor que O (N ^ 2) por adición de borde. Mi algoritmo actual es así:

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

Para los bordes O (N ^ 2) esto se traduce en una complejidad de tiempo total de O (N ^ 4) que es mucho peor que, por ejemplo, Floyd-Warshall .

Respuestas:


15

O (n) tiempo por adición de borde:


2
Ver también: DM Yellin. Acelerando el cierre transitivo dinámico para gráficos de grado acotado. Acta Informatica, 30: 369–384, 1993.
Jeffε

1
El primer artículo proporciona dos operaciones importantes desde el cierre transitivo, pero necesito una tercera: iterar a través de todos los nodos accesibles. Sin embargo, el segundo artículo es bueno.
Alexandru
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.