基础运算对时间复杂度影响的分析




本文章主要研究各种变量类型加减乘除以及取模所耗费时间的差异

以下不作特殊说明均为 1 e 9 1e9 1e9次操作,时间均以毫秒记,测量多次取平均数

由于机子问题,测得时间可能不同,但其快慢比较相对可信( 32 32 32 X P XP XP系统 版本 2002 2002 2002 )



f o r for for循环

for(int i=1;i<=1000000000;++i);

++ i i i 2145 m s 2145ms 2145ms

i i i++ : 2153 m s 2153ms 2153ms

i i i+= 1 1 1 2130 m s 2130ms 2130ms

1 − 2 e 9 1-2e9 12e9 i i i+= 2 2 2 2132 m s 2132ms 2132ms

可以看到这些几乎没有影响, i i i+= 1 1 1也并没有单独的优化,与 i i i+= 2 2 2时间并无明显变化相同


- - i i i 2158 m s 2158ms 2158ms

i i i- - : 2167 m s 2167ms 2167ms

i i i-=1 : 2153 m s 2153ms 2153ms

让我有点吃惊的是,减法几乎并不慢

还有,+=和-=运算符竟然也不慢,从时间来看甚至还稍微快些,虽然可能是机子误差,但至少并不比++和- -慢


for(int i=1;i<=1000000000;++i)++k;

2590 m s 2590ms 2590ms

for(int i=1;i<=1000000000;++i)++k,++k;

4379 m s 4379ms 4379ms

所以执行 1 e 9 1e9 1e9遍加法的速度接近 1800 m s 1800ms 1800ms

减法速度相近



for(int i=1000000000;i>=1;--i)k=i;

3045 m s 3045ms 3045ms

赋值竟然这么慢

但如果

for(int i=1000000000;i>=1;--i)k=10;

或者

for(int i=1000000000;i>=1;--i)k=k;

2218 m s 2218ms 2218ms

优化起了作用


又: i i i改成 l o n g l o n g longlong lon

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
离散实验集合运算和质因数分解的实验结果分析如下: 1. 集合运算实验结果分析:在集合运算实验,我们学习了并集、交集和差集的计算方法,以及这些运算的应用场景和计算技巧。通过实验,我们可以掌握如何进行集合运算,并且可以应用集合运算解决实际问题。例如,在数据分析和统计,可以通过集合运算来实现数据的筛选和分类。同时,在实验,我们需要注意集合元素的重复问题,避免重复计算导致结果错误。 2. 质因数分解实验结果分析:在质因数分解实验,我们学习了如何将合数分解成质因数的方法,并且了解了质因数分解在密码学和信息安全领域的应用。通过实验,我们可以掌握如何进行质因数分解,并且了解质因数分解在实际应用的重要性和价值。在实验,我们需要注意合数的大小和因数的范围问题,同时也需要注意算法的时间复杂度和计算效率问题。 3. 实验结果分析:通过离散实验集合运算和质因数分解的学习和实践,我们不仅掌握了新的知识和技能,还提高了自己的计算和分析能力。离散数学是一门非常重要的学科,它不仅在计算机科学和信息技术领域有广泛的应用,还在数学、物理、生物学等领域都有着重要的作用。通过实验,我们深刻认识到离散数学的实用性和重要性,也更加坚定了自己学习离散数学的信心和决心。同时,我们也意识到实践是提高自己的最好方法,只有通过不断地实践和探索,才能真正掌握知识和技能,为未来的学习和工作打下坚实的基础

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值