¿Por qué el hash cuckoo no se considera un hash perfecto?

El requisito para el hashing perfecto es que todos los elementos de su conjunto se puedan convertir en un conjunto distintivo de enteros.

Con el hash cuckoo, tienes un límite en la cantidad de puntos que un elemento puede hacer hash. Eventualmente, cuando su conjunto sea lo suficientemente grande, se encontrará con un ciclo en el que intenta insertar un valor, ese valor se empuja a su ubicación alternativa, que tiene un valor, que se empuja a su ubicación alternativa, que tiene un valor, etc., y finalmente la ubicación alternativa para el valor actual que está moviendo termina siendo la ubicación original en la que intentó ingresar. Cuando esto sucede, no hay forma de asignar el valor que está tratando de agregar a una posición entera distinta.

Eso es difícil de explicar en el texto, así que permítanme tomar la foto de Wikipedia:

Las flechas representan las ubicaciones alternativas para cada valor en el conjunto. Si observa los valores H y W, notará que sus ubicaciones alternativas apuntan entre sí. No hay forma de insertar un elemento en la ubicación que almacena H o la ubicación que almacena W.