Para un gráfico acíclico dirigido , hay una estructura de datos que permite consultas de accesibilidad sin requerir espacio cuadrática o tiempo lineal? Idealmente, busco un algoritmo que use solo espacio O (log n) por vértice y tiempo logarítmico donde .
Me pareció intuitivamente obvio que debería existir una estructura de datos como esta, basada en alguna generalización de algoritmos de clasificación estándar. Pero me sorprendió no poder encontrar ninguno. Todo lo que encontré hizo suposiciones sobre el gráfico (por ejemplo, planaridad) o resolvió un problema más difícil en tiempo / espacio cuadrático (por ejemplo, consultas intercaladas con modificaciones en el gráfico).
La página de Wikipedia sobre Accesibilidad solo cubre un algoritmo general (Floyd-Warshall); el resto de la página trata casos especiales que implican suposiciones como que el gráfico es plano (no lo es).
El artículo más comúnmente citado en este espacio parece ser la eficiencia amortizada de una estructura de datos de recuperación de ruta , pero este y todos los documentos que cita involucran espacio O (n ^ 2) u otro tiempo O (n ^ 2) para permitir actualizaciones al gráfico entrelazado con las consultas (es decir, sin preprocesamiento).
Esta pregunta no fue respondida, pero trata el problema más difícil de permitir inserciones de borde intercaladas con consultas.
Esta pregunta solicitó una estructura de datos persistente (puramente funcional), que no se requiere aquí. El documento "Succinct Posets" necesita espacio pero logra consultas de tiempo O ( 1 ) ; Busco un algoritmo de peor tiempo y mejor espacio.
Principalmente buscando un punto de apoyo en la literatura aquí. Si hay un documento de encuesta sobre accesibilidad gráfica que no pasa el 99% de su tiempo en el caso de gráfico plano, eso ayudaría.