Total Node-Credits Paid
We know a node in rank-
group g pays less than
tower(g) credits
It actually pays at most
tower(g)-tower(g-1) credits
Further, we know there are
at most n/tower(g) nodes in
rank-group g
Thus, each rank-group pays
at most n credits
Note that there are log*n
different rank groups
Thus, the nodes pay at most
n log* n credits
We now know that the
number of credits paid is
less than the number of
credits charged
The proof is complete
Total time for n Union/Find
operations starting from
singletons is O(n log*n)
CS409 - Spring 2000
15