У меня есть целый ряд целых чисел, в которые я хочу выполнить итерацию. Вы можете предположить, что последовательность начинается с 1
и заканчивается n
, где n > 1
. Тем не менее, я не хочу последовательно проходить через них. Цель состоит в том, чтобы перебрать все из них случайным образом. Кроме того, n
может быть очень большим, возможно, в триллионы, поэтому я не могу хранить диапазон в памяти. Есть ли способ сделать это?Случайно перебирайте последовательность целых чисел, от 1 до n
Я знаю, что есть способ сделать это с помощью массива, уже находящегося в памяти. Можно ли сделать что-то подобное, если вы не можете сразу сохранить весь диапазон?
вы ищете алгоритм? ... с языком? ... –
Что вы подразумеваете под «случайным» здесь - нужны ли вам какие-либо статистические свойства? Или просто обобщенная «смесь» все это? » – BadZen
Если вы не храните весь массив, вам по-прежнему нужно, по крайней мере, хранить те, которые уже выведены, что в конечном итоге будет эквивалентно хранению всего массива. Если вы не возражаете использовать один и тот же номер дважды, в этом случае вы просто ищете генератор случайных чисел. – chepner