Komplexität der Vereinigungsfindung mit Pfadkomprimierung ohne Rang

10

Wikipedia sagt, dass die Vereinigung nach Rang ohne Pfadkomprimierung eine amortisierte Zeitkomplexität von ergibt und dass sowohl die Vereinigung nach Rang als auch die Pfadkomprimierung eine amortisierte Zeitkomplexität von O ( α ( n ) ) ergibt (wobei α die Umkehrung von ist Ackerman-Funktion). Die Laufzeit der Pfadkomprimierung ohne Gewerkschaftsrang wird jedoch nicht erwähnt, was ich normalerweise selbst implementiere.O(logn)O(α(n))α

Was ist die amortisierte zeitliche Komplexität von Union-Find mit der Pfadkomprimierungsoptimierung, jedoch ohne die Vereinigung durch Rangoptimierung?

Filip Haglund
quelle
5
Beachten Sie, dass die Umkehrung der Ackerman-Funktion ist, nicht 1 / A ( n , n ) ) . Hier bedeutet "invers" das Inverse als Funktion, nicht das Reziproke: dh wenn f ( n ) = A ( n , n ) , α ( n ) = f - 1 ( n ) , nicht 1 / f ( n ) . α(n)1/A(n,n))f(n)=A(n,n)α(n)=f1(n)1/.f(n)
DW
Ich verstehe, dass dies eine relativ alte Frage ist, aber siehe meine Antwort und ein relevantes Papier: epubs.siam.org/doi/abs/10.1137/S0097539703439088 . Möglicherweise habe ich beim Kopieren über die Grenzen ein oder zwei Details übersehen. In diesem Fall schlagen Sie bitte eine
Änderung vor

Antworten:

4

mÖ((m+n)Log(n))

f(m,n)mn

k>1f(m,n)(m+(k- -1)n)Logk(n)

k=m/.n+1

f(m,n)(2m+n)Logm/.n+1n

Eine ähnliche Grenze wurde von Tarjan und van Leeuwen in [2], Abschnitt 3, unter Verwendung einer komplexeren Methode angegeben:

mn(4m+n)Log1+m/.nn(8m+2n)Log1+m/.n(n)

m<nn+2mLogn+m

[1]: R. Seidel und M. Sharir. Top-Down-Analyse der Pfadkomprimierung. Siam J. Computing, 2005, Bd. 34, Nr. 3, S. 515-525.

[2]: R. Tarjan und J. van Leeuwen. Worst-Case-Analyse von Set-Union-Algorithmen. J. ACM. 31, Nr. 2, April 1984, S. 245-281.

BearAqua
quelle
2

Θ(n)

nn- -1Θ(n)Θ(n)

Ö(Logn)Ö(Logn)Ö(Logn) Dies kann in einer interaktiven Anwendung nützlich sein, in der Sie sicherstellen möchten, dass kein einzelner Vorgang eine lange Verzögerung verursachen kann (z. B. möchten Sie die Garantie, dass kein einzelner Vorgang dazu führen kann, dass die Anwendung für eine lange Zeit einfriert) oder in Echtzeit Anwendung, bei der Sie sicherstellen möchten, dass Sie immer die Echtzeitgarantien erfüllen.

DW
quelle