我正在尝试制作一个 3 维布尔数组,它告诉我是否以前访问过 3d 空间中的某个位置以进行简单的导航算法。该数组可能非常大(大约为 1,000,000 x 1,000,000 x 1,000,000 或更大),所以我想知道声明该大小的数组并将每个布尔值设置为 false 是否会更快,或者使带有坐标键 (x, y, z) 和 bool 类型值的映射。
据我所知,数组需要 O(1) 来查找或修改坐标,而地图需要 O(log n) 来查找或插入值。显然,对于访问值,数组更快。但是,这会抵消声明这样一个数组所需的时间吗?
谢谢