Следующий псевдокод показывает, как вернуть кандидата, равномерно выбранного среди токенов строки:
string result = null;
int tokens = 0;
while (true) {
string candidate = next token;
if (candidate does not exist) break;
tokens = tokens + 1;
if ((a random integer selected between 0 and tokens-1) == 0) result = token;
}
return result;
Это особый случай Алгоритм R из раздела 3.4.2Том II Кнута Искусство компьютерного программирования .