Но ключевой вопрос заключается в том, может ли время выполнения, необходимое для рандомизации списка, не превышать время выполнения для его последовательного обхода.
Возможно, что вам действительно нужно сделать, это на самом деле не рандомизировать это, а скорее прочитать в каком-то порядке, отличном от спереди к спине. Например, если в списке есть n членов, возможно, вам следует обработать 1, n, 2, n-1, 3, n-2 и т. Д. Или 1, n / 2, 2, n / 2 + 1, 3, n / 2 +2 и т. Д.
Если у вас всегда одинаковое количество баллов или если количество баллов попадает в небольшой конечный набор, вы можете произвести порядок оценки баллов для каждого возможного количества баллов за один раз, либо действительно случайный, либо, возможно, тщательно рассчитанный в некотором роде.