Чтобы экспериментировать, я (давно) реализовал Игру Жизни Конвея (и я знаю этот связанный вопрос!).
Моя реализация работала, сохраняя 2 массива логических значений, представляющих «последнее состояние» и «обновляемое состояние» (2 массива менялись на каждой итерации). Хотя это достаточно быстро, я часто задавался вопросом, как это оптимизировать.
Одна из идей, например, заключалась бы в предварительном вычислении на итерации N зон, которые могли бы быть модифицированы на итерации (N + 1) (чтобы ячейка не принадлежала такой зоне даже не будет рассматриваться для модификации на итерации (N + 1)). Я знаю, что это очень расплывчато, и я никогда не тратил время на детали ...
У вас есть идеи (или опыт!) О том, как оптимизировать (для скорости) итерации Game of Life?