| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1146 人关注过本帖
标题:这个题怎么回事,完全不懂
只看楼主 加入收藏
密码code
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-8-12
收藏
 问题点数:0 回复次数:6 
这个题怎么回事,完全不懂
在编程时(使用任一种高级语言,不一定是C),如果需要从磁盘文件中输入一个很大的二维数组
(例如1000*1000的double型数组),按行读(即外层循环是关于行的)与按列读(即外层循环是
关于列的)相比,在输入效率上( )。
A. 没有区别 B. 按行读的方式要高一些
C. 按列读的方式要高一些 D. 取决于数组的存储方式。

答案是d,但是不知道为什么
搜索更多相关主题的帖子: 语言 double 外层 效率 磁盘 
2008-08-12 12:37
liyawei1008
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-8-12
收藏
得分:0 
数组是按线性表存储的  在内存中如果是一行一行的存按列读就要有跳转指令 进行寻址 如果是按列存储的话按列读效率就高(没执行跳转指令)
我也是新手  呵呵   不知道解释的恰当不恰当  ……
2008-08-12 15:02
密码code
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-8-12
收藏
得分:0 
为什么奥赛考这东西
2008-08-14 12:41
zhongjx
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-6-30
收藏
得分:0 
数组顺序存储,如果按行存储那么就把行序做为外层循环,以减少内存换页次数,节省时间。
2008-08-14 15:11
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
这个题我也做过...当年,这个题我也错了...55555555555555

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2008-08-14 15:29
jimmytom
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2008-7-31
收藏
得分:0 
内存和数组在某一点上有相同的原理,内存叫RAM(随机存储器),理解为,读第一个单元花费的时间和读第十个单元花费的时间相同,像那种没有冲突的哈希表一样,只用一次就能马上找到元素,数组不管是按行序优先还是按列序优先,访问时间都相同,所以不存在效率问题,

即:
int a[4];
a[0] = 0; a[3] = 3; a[1] = 1;a[2] = 2;
不会比
a[0] = 0; a[1] = 1;a[2] = 2; a[3] = 3;
效率低下。

没有跳的说法。更没有跳转指令用在这里。
2008-08-14 15:44
jimmytom
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2008-7-31
收藏
得分:0 
我恨考试,这种考试,完全没有必要,考的好不一定做的好。

我记得程序员考试考一些无聊的东西,要么跟编译器实现相关(如两数运算结果太大时应如何溢出),要么深究语法。其实大无用处。



悲唉
2008-08-14 15:48
快速回复:这个题怎么回事,完全不懂
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016426 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved