社区
数据结构与算法
帖子详情
嵌套循环的效率问题,很简单
wenww
2004-12-22 09:01:28
比如
for (i=0;i<5;i++)
for (j=0;j<10;j++)
问一下要使运行效率高的话应该是外面那层循环次数多还是少
需要详细说明一下原理和原因
...全文
480
6
打赏
收藏
嵌套循环的效率问题,很简单
比如 for (i=0;i<5;i++) for (j=0;j<10;j++) 问一下要使运行效率高的话应该是外面那层循环次数多还是少 需要详细说明一下原理和原因
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wenww
2004-12-24
打赏
举报
回复
mathe() 的意思
室不是这样
如果i和j都是100的话也是后面那个快
wenww
2004-12-24
打赏
举报
回复
ti
baryjim
2004-12-23
打赏
举报
回复
原来,我还在汇编里找答案,原来是cache中啊,向高手致敬!!
mathe
2004-12-23
打赏
举报
回复
不要根据循环的长度来判断,这个对代码效率影响太小了,尽信书则不如无书:)
正确的解答是按照代码的内容,主要是做内存方面的优化:
比如下面一个代码:
int a[1000][100];
int i,j;
for(i=0;i<100;i++)
for(j=0;j<1000;j++)a[j][i]=i+j;
速度要远远慢于代码:
for(j=0;j<1000;j++)
for(i=0;i<100;i++)a[j][i]=i+j;
原因很简单,计算机访问内存都是通过Cache间接访问的。而相邻的内存会被安排在
同一条Cache上,所以我们要尽量将相邻的内存中数据的访问放在一起,这样就可以
减少将内存中数据拿到Cache中的次数。
l_b_q
2004-12-22
打赏
举报
回复
【建议4-4-1】在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨切循环层的次数。
——【高质量C/C++编程指南】
baryjim
2004-12-22
打赏
举报
回复
我想不到有什么区别啊,mark一下
MySQL表连接查询算法
本文围绕MySQL多表连接查询展开。多表连接查询虽实用但常带来性能
问题
,最坏情况是笛卡尔积。介绍了连接查询过程,包括确定驱动表等。还阐述了多种连接算法,如
简单
嵌套循环
连接、索引
嵌套循环
连接、缓冲区
嵌套循环
连接,并给出优化连接查询
效率
的方法。
牛客练习赛68 B 牛牛的算术 基础数学题 取模操作+累加累乘化简
本文介绍了一种复杂的模运算
问题
的高效解决方法,通过预处理和公式化简,将三次
嵌套循环
的计算转换为
简单
的前缀和计算,大幅提高了算法
效率
。
MySQL表连接算法
本文深入探讨了MySQL中的多表连接查询,分析了连接查询可能导致的性能
问题
,特别是笛卡尔积的影响。文章介绍了连接查询的过程,包括确定驱动表和连接算法,如
简单
嵌套循环
连接、索引
嵌套循环
连接和块
嵌套循环
连接,并强调了被驱动表的访问优化。最后,提出了使用索引和JoinBuffer来提升连接查询
效率
的方法。
[LeetCode] No.1 Two Sum
这篇博客介绍了LeetCode中的经典
问题
No.1 Two Sum,即寻找数组中两个数使得它们的和等于特定目标值。文章讨论了两种解法:一是
简单
的
嵌套循环
遍历,二是利用HashMap进行优化。通过这个题目,博主探讨了在编程解决
问题
时如何利用数据结构提高
效率
。
在 Python 中跳出
嵌套循环
的 5 种方法
本文介绍了在Python中避免
嵌套循环
的五种策略,包括添加标志变量、抛出异常、检查条件、使用for-else语法和封装函数。同时提到了通过itertools.product函数替代
嵌套循环
的实例。,
数据结构与算法
33,026
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章