首页 > 试题广场 >

以下是一个二维数组求和函数。假设M=2、N=3,则数组V的访

[单选题]
以下是一个二维数组求和函数:
int sum-array-rows ( int V [M] [N] )
{
    int i, j, sum=0;
    for ( i=0; i< M; i++)
        for (j=0; j < N; j++)
            sum + =V[i] [j];
    return sum;
}
假设M=2、N=3,则数组V的访问顺序是(   )时, 其访问局部性达到最好。(说明:二维数组存放时,一般同一行元素连续存放。)
  • V00、V01、V02、V10、V11、V12
  • V00、V10、V01、V11、V02、V12
  • V00、V11、V01、V10、V02、V12
  • V00、V01、V11、V10、V02、V12
(说明:二维数组存放时,一般同一行元素连续存放。)
A.选项是
V00、V01、V02、V10、V11、V12
因为数组是顺序存储的,同一行的连续存放,A中首先是遍历第0行,然后是第1行,跳跃只有1次。内存访问都在附近,叫程序的局部性。
B.内存访问跳跃了5次
C.内存访问跳跃了5次
D.内存访问跳跃了3次
发表于 2017-10-02 17:12:14 回复(0)
神经了 一开始选a又改成d。。。。
发表于 2019-04-20 12:32:13 回复(0)
数组在内存中按行优先存储
发表于 2018-04-24 11:11:32 回复(0)
这个是跟数字电路中的卡诺图一样吗?不太懂。。。
发表于 2017-09-18 19:41:30 回复(0)
求解答呀?题目的意思都看不懂,什么叫局部性最好额
发表于 2017-09-05 09:26:47 回复(0)