Переключение на использование примитивов int для представления групп двоичных значений и использование побитовых операций и масок для изменения групп двоичных значений может привести к значительному увеличению скорости в зависимости от того, как вы манипулируете данными.Вы можете случайным образом мутировать блоки генов одновременно, используя случайно сгенерированные маски.
Массив трудно превзойти, если вы сканируете все это или заранее знаете индекс.Однако копирование разделов массива в другие разделы может быть затруднительным, но все же достаточно эффективным.
Если вас больше интересует замена групп генов фиксированного размера, построение двухуровневого дерева с n ветками с группамигенов на каждом листе позволит вам очень быстро поменять местами группы генов.Возможно, группы не должны быть одинакового размера.Если вам необходимо разбить гены на хромосомы, вы можете добавить промежуточный уровень к дереву.