【发布时间】:2015-01-01 17:35:21
【问题描述】:
我正在尝试找出以下伪代码中使用了哪个位置(空间/时间)以及如何使用?
for i = 0, i < 10, i++
sum = sum + array[i]
我希望我的问题很清楚,有人可以帮助我,在此先感谢! 史蒂文
【问题讨论】:
-
对不起,我的错,但是如果代码使用时间局部性,你能解释一下吗?假设“sum”被使用了 10 次?
我正在尝试找出以下伪代码中使用了哪个位置(空间/时间)以及如何使用?
for i = 0, i < 10, i++
sum = sum + array[i]
我希望我的问题很清楚,有人可以帮助我,在此先感谢! 史蒂文
【问题讨论】:
一般来说,给定代码-sn-p,除非给出整个代码,否则不能轻易确定空间局部性。
Temporal Locality是指在相对较短的时间内重复使用特定的数据和/或资源。
而 Spatial Locality 是指在相对较近的存储位置使用数据元素。
接下来,考虑到这个 sn-p,因为 sum 将在 i 的 10 次迭代中被调用 10 次,因此,对 sum 的重复引用描述了时间局部性。
【讨论】: