Перемешивание массива с использованием метода случайного выбора вместо использования Фишера-Йейтса

Я застрял с очевидной простой проблемой. Я написал подпрограмму, которая принимает массив длины n и еще одно число в качестве входных данных, а затем выводит массив размером mкоторый содержит равномерно случайно выбранные числа из исходного массива. Я могу пройти replace=Falseвариант, и тогда числа в выходном массиве всегда различны, учитывая, что в исходном массиве нет повторений. Мой вопрос: могу ли я использовать ту же процедуру для случайного перемешивания массива? На первый взгляд это кажется возможным, если я введу m=n. Проблема в том, что я не уверен, будет ли это выводить все возможные перестановки входного массива с равной вероятностью (хотя я был бы удивлен, если это не так!). Если этого не произойдет, я напишу еще одну программу для перетасовки Фишера-Йейтса.

0 ответов

Другие вопросы по тегам