为了实验,我(很久以前)实施了康威的生命游戏(我知道这个相关的问题!).
我的实现通过保留2个布尔数组来表示"最后状态"和"正在更新状态"(每次迭代时交换2个数组).虽然速度相当快,但我常常想知道如何优化它.
例如,一个想法是在迭代N处预先计算可以在迭代(N + 1)处修改的区域(因此,如果一个单元不属于这样的区域,则甚至不会考虑在迭代(N + 1)).我知道这很模糊,我从来没有花时间详细介绍......
你对如何优化(速度)Game of Life迭代有任何想法(或经验!)吗?
language-agnostic algorithm performance conways-game-of-life