Generación de funciones hash aleatorias para el algoritmo LSH Minhash

Estoy programando un algoritmo minhashing en Java que requiere que genere un número arbitrario de funciones hash aleatorias (240 funciones hash en mi caso) y que ejecute cualquier número de enteros a través de él (2000 en este momento).

Para hacer eso, he estado generando números aleatorios a, byc (desde el rango 1 - 2001) para cada una de las 240 funciones hash. Entonces, mi función hash devuelve h = ((a * x) + b)% c, donde h es el valor de retorno y x es uno de los enteros que lo atraviesan.

¿Es esta una implementación eficiente de hashing aleatorio, o hay una forma más común / aceptable de hacerlo?

Esta publicación hacía una pregunta similar, pero todavía estoy algo confundido por la redacción de la respuesta:Implementación de Minhash cómo encontrar funciones hash para permutaciones

Respuestas a la pregunta(2)

Su respuesta a la pregunta