Wikipedia dice que la unión por rango sin compresión de ruta da una complejidad de tiempo amortizada de , y que tanto la unión por rango como la compresión de ruta da una complejidad de tiempo amortizada de O ( α ( n ) ) (donde α es el inverso de Función Ackerman). Sin embargo, no menciona el tiempo de ejecución de la compresión de ruta sin rango de unión, que es lo que generalmente implemento yo mismo.
¿Cuál es la complejidad del tiempo amortizado de union-find con la optimización de compresión de ruta, pero sin la unión por optimización de rango?
complexity-theory
time-complexity
union-find
Filip Haglund
fuente
fuente
Respuestas:
Seidel y Sharir demostraron en 2005 [1] que usar la compresión de ruta con enlaces arbitrarios aproximadamente enm operaciones tiene una complejidad de aproximadamente O((m+n)log(n)) .
Ver [1], Sección 3 (Enlace Arbitrario): Seaf(m,n) el tiempo de ejecución de union-find con m operaciones n elementos. Probaron lo siguiente:
De acuerdo con [1], la configuración dek=⌈m/n⌉+1 da
f(m,n)≤(2m+n)log⌈m/n⌉+1n .
Tarjan y van Leeuwen dieron un enlace similar usando un método más complejo en [2], Sección 3:
[1]: R. Seidel y M. Sharir. Análisis de arriba hacia abajo de la compresión del camino. Siam J. Computing, 2005, vol. 34, núm. 3, págs. 515-525.
[2]: R. Tarjan y J. van Leeuwen. Análisis de los peores casos de algoritmos de unión de conjuntos. J. ACM, vol. 31, núm. 2, abril de 1984, págs. 245-281.
fuente
fuente