Como gerar números distribuídos Zipf com eficiênci

tualmente, estou comparando algumas estruturas de dados em C ++ e quero testá-las ao trabalhar com números distribuídos pelo Zip

Estou usando o gerador fornecido neste site:http: //www.cse.usf.edu/~christen/tools/toolpage.htm

Adaptei a implementação para usar um gerador Mersenne Twiste

Funciona bem, mas é muito lento. No meu caso, o intervalo pode ser grande (cerca de um milhão) e o número de números aleatórios gerados pode ser de vários milhõe

O parâmetro alfa não muda com o tempo, é corrigid

Eu tentei precacular todo o sum_prob. É muito mais rápido, mas ainda diminui em grande escala.

Existe uma maneira mais rápida de gerar números distribuídos Zipf? Mesmo algo menos preciso será bem-vind

Obrigad

questionAnswers(8)

yourAnswerToTheQuestion