O algoritmo Union-Find, que Tarjan 1 mostrou ter complexidade nα(n) , onde α(n) é a função inversa de Ackermann, havia sido analisado anteriormente por várias pessoas. Segundo a Wikipedia, foi inventado por Galler e Fischer 2 , mas isso parece estar incorreto, pois eles não tinham todos os componentes do algoritmo necessários para fazê-lo funcionar tão rapidamente.
Com base em breves varreduras dos artigos, parece que o algoritmo foi inventado por Hopcroft e Ullman 3 , que deram um limite de tempo (incorreto) para O ( n ) . Fischer 4 então encontrou o erro na prova e deu um tempo O ( n logregistron ) . Em seguida, Hopcroft e Ullman 5 deram um limite de tempo O ( n log∗n ) , após o qual Tarjan 1 encontrou o limite de tempo O ( n α ( n ) ) ideal) O ( n α ( n ) ) .
1 RE Tarjan, "Eficiência de um algoritmo de união de conjuntos bom, mas não linear" (1975).
2 BS Galler e MJ Fischer, "Um algoritmo de equivalência aprimorado" (1964).
3 JE Hopcroft e JD Ullman, "Um algoritmo de fusão de lista linear" (1971).
4 MJ Fischer, "Eficiência de algoritmos de equivalência" (1972).
5 JE Hopcroft e JD Ullman, "Algoritmos de fusão de conjuntos" (1973).