嗨,有人对时空性有疑问。我在类(class)理论中读到

空间局部性

如果引用了一项,则不久将引用另一地址附近的可能性。

时间局部性

在某一时间点被引用的一项倾向于很快再次被引用。

好的,但是我怎么在代码中看到呢?我想我了解时间局部性的概念,但还不了解空间局部性。例如在这个循环中

for(i = 0; i < 20; i++)
    for(j = 0; j < 10; j++)
        a[i] = a[i]*j;

当访问a [i]十次时,内部循环将调用相同的内存地址,所以我想这是时间局部性的一个示例。但是上述循环中是否也存在空间局部性?

最佳答案

当然。例如,在引用a [5]之后,您将引用a [6]。

10-08 16:06