当前位置: 首页 > 知识库问答 >
问题:

嵌套循环的顺序对速度有影响吗[重复]

壤驷骁
2023-03-14
for(int i = 0 ; i < arrayOne.length ; ++i) {
   for(int j = 0 ; j < arrayTwo.length ; ++j) {
    //Do something
   }
}

备选方案2

for(int i = 0 ; i < arrayTwo.length ; ++i) {
   for(int j = 0 ; j < arrayOne.length ; ++j) {
    //Do something
   }
}

共有1个答案

阎烨
2023-03-14

没有一般的结果。这取决于您的系统和运行时的各种情况。基准测试并得到自己的结果。但使用更多缓存位置的缓存通常更快

对于二维数组,在行为主的语言中,按行、按列迭代通常更快,反之亦然。但这只有在循环遍历数组的每一个或大多数数组时才会发生。Java既不是以行为主也不是以列为主,所以没有一种方法对每一种情况都是一致的快

在像这样迭代两个不同数组的情况下,没有人真正知道它的行为

 类似资料:
  • 我试图谷歌这个,但运气不好。 我有一个很大的转变,有些病例明显比其他病例更常见。 所以我想知道订单是否真的保持原样,并且“上层”案例在“下层”案例之前得到测试,因此评估得更快。 我想保留我的订单,但如果这会影响速度,那么重新排序分支将是一个好主意。 举例说明:

  • 我有一个json,包含如下对象数组 在我看来,我想用ngFor呈现json,就像这样 你的名字叫什么? abc 定义 Ghi jkl

  • 问题内容: 我试图用谷歌搜索,但是没有运气。 我的开关很大,有些情况 显然 比其他情况 更常见 。 因此,我想知道订单是否真正保持原状,并且在“下”之前先测试“上”案例,因此可以更快地进行评估。 我想保留订单,但是如果它影响速度,那么重新排序分支将是一个好主意。 例如: 问题答案: 对switch语句重新排序没有任何效果。 查看Java字节码规范,可以将a编译为a 或一条指令,然后打开a 。A 总

  • 我有一个有600万行的表,我需要查找六列来选择项目。所以我创建了一个包含六列的索引。 更改索引中列的顺序是否影响查询速度? 查询的速度是否取决于每列所具有的唯一项的数量?或者列上的条件具有的可能结果的总数? 我尝试重新排序索引中的列,查询速度似乎有一些重大变化 表:pic_tag_relations 列: tag_id(int)(1-1,000,000)(基数:最低) contrast_score

  • 我正在努力找到确切的答案 我知道外环运行了n次。然后,第二个循环每次运行的次数不同,因为它从i开始: n(n-1)(n-2)。。。2 1. 但是,因为我们只关心最坏的情况(当i=n时),所以第二个循环将运行n-n次,因为它将从i=n开始。这当然没有意义,但这就是我被卡住的地方。我已经运行了这段代码,找到了序列的前四个元素:S=0 1 4 10。。。(其余部分不确定)。 抱歉,如果这不合理,但任何帮

  • 请考虑以下算法- 时间和空间的复杂性是如何被发现的?