El algoritmo Union-Find, que Tarjan 1 mostró tenía complejidad n α ( n ) , donde α ( n ) es la función inversa de Ackermann, había sido analizado previamente por varias personas. Según Wikipedia, fue inventado por Galler y Fischer 2 , pero esto parece ser incorrecto, ya que no tenían todos los componentes del algoritmo necesarios para que funcione tan rápido.
Basado en breves escaneos de los documentos, parece que el algoritmo fue inventado por Hopcroft y Ullman 3 , quienes dieron un límite de tiempo (incorrecto) O(n) . Fischer 4 luego encontró el error en la prueba y le dio un límite de tiempo O(nloglogn) . Luego, Hopcroft y Ullman 5 dieron un límite de tiempo O(nlog∗n) , después de lo cual Tarjan 1 encontró el (óptimo) O(nα(n)) .
1 RE Tarjan, "Eficiencia de un algoritmo de unión de conjuntos bueno pero no lineal" (1975).
2 BS Galler y MJ Fischer, "Un algoritmo de equivalencia mejorado" (1964).
3 JE Hopcroft y JD Ullman, "Un algoritmo de fusión de lista lineal" (1971).
4 MJ Fischer, "Eficiencia de algoritmos de equivalencia" (1972).
5 JE Hopcroft y JD Ullman, "Algoritmos de fusión de conjuntos" (1973).