Фрагментация последовательности до максимальной случайности (массивы, любой язык)

У меня была интересная дискуссия с моими хорошими друзьями-разработчиками. Я хотел создать случайную последовательность заданных значений массива, но с максимальной фрагментацией, без каких-либо обнаруживаемых закономерностей. Эта так называемая максимальная случайность будет практически всегда одинаковой для любой уникальной последовательности.

Пример входного массива:

array(1, 2, 3, 4, 5);

Пример результата стандартной функции rand():

array(2, 3, 1, 5, 4);

Что мне не нравится в приведенном выше выводе, так это значения последовательности, такие как «2, 3» и «5, 4», Он недостаточно фрагментирован.

Ожидаемый результат будет/может быть:

array(3, 5, 1, 4, 2);

Итак, мой вопрос;существует ли какая-либо известная формула для расчета максимальной случайности или для лучшего выбора слов максимальной фрагментации?

0
задан Emil Vikström 6 June 2012 в 11:28
поделиться