我想要记忆效率this(代码簿本质上的shiffman生命代码游戏)。如何更改下面的代码只有两个数组并不断交换它们,将下一组状态写入哪一个不是当前数组?
docker run -itd repo/new-image
答案 0 :(得分:1)
您可能不喜欢这样,但诚实的答案是:不要打扰。
如何更改下面的代码只有两个数组并不断交换它们,将下一组状态写入任何一个不是当前数组
这正是代码所做的。
生命游戏需要两个阵列。如果您遇到真正的性能问题,那么请寻找其他改进方面。关注数组是red herring。
有一句老话:premature optimization is the root of all evil。换句话说,你不应该浪费时间在代码被破坏之前修改代码。
您可能会改进的一个显而易见的事情是:为什么使用int[]
数组而不是boolean[]
数组?您只需要存储两个状态:alive或dead,因此使用int
值似乎是不必要的。如果你切换到boolean[]
阵列,你会节省一点内存,但是你甚至可能都不会注意到这种改进。