Algoritmo eficiente para generar números aleatorios únicos (no repetitivos)

Quiero resolver el siguiente problema. Tengo que muestrear entre un conjunto extremadamente grande, del orden de 10 ^ 20 y extraer una muestra sin repeticiones de tamaño de aproximadamente 10% -20%. Dado el tamaño del conjunto, creo que un algoritmo como Fisher-Yates no es factible.

Estoy pensando que algo como el árbol de ruta aleatoria podría funcionar para hacerlo en O (n log n) y no se puede hacer más rápido, pero quiero preguntar si algo como esto ya se ha implementado.

¡Gracias por tu tiempo

Respuestas a la pregunta(1)

Su respuesta a la pregunta