Seidel e Sharir hanno dimostrato nel 2005 [1] che l'uso della compressione del percorso con collegamenti arbitrari all'incirca su operazioni ha una complessità di circa .mO((m+n)log(n))
Vedi [1], Sezione 3 (Collegamento arbitrario): Let indica il runtime di union-find con operazioni e elementi. Hanno dimostrato quanto segue:f(m,n)mn
Rivendicazione 3.1. Per qualsiasi numero intero abbiamo .k>1f(m,n)≤(m+(k−1)n)⌈logk(n)⌉
Secondo [1], l'impostazione fornisce
.k=⌈m/n⌉+1
f(m,n)≤(2m+n)log⌈m/n⌉+1n
Un limite simile è stato dato usando un metodo più complesso da Tarjan e van Leeuwen in [2], Sezione 3:
Lemma 7 di [2]. Supponiamo che . In qualsiasi sequenza di operazioni impostate implementate utilizzando qualsiasi forma di compattazione e collegamento ingenuo, il numero totale di nodi sui percorsi di ricerca è al massimo Con dimezzamento e collegamenti ingenui, il numero totale di nodi nei percorsi di ricerca è al massimo .m≥n(4m+n)⌈log⌊1+m/n⌋n⌉(8m+2n)⌈log⌊1+m/n⌋(n)⌉
Lemma 9 di [2]. Supponiamo che . In qualsiasi sequenza di operazioni impostate implementate utilizzando la compressione e il collegamento ingenuo, il numero totale di nodi sui percorsi di ricerca è al massimo .m<nn+2m⌈logn⌉+m
[1]: R. Seidel e M. Sharir. Analisi top-down della compressione del percorso. Siam J. Computing, 2005, vol. 34, n. 3, pagg. 515-525.
[2]: R. Tarjan e J. van Leeuwen. Analisi dei casi peggiori di algoritmi set di unione. J. ACM, Vol. 31, n. 2, aprile 1984, pagg. 245-281.