算法 用看的见单位来衡量时间复杂度

2020-11-29  本文已影响0人  某非著名程序员

工作也有些年限了,发现学习算法的同事真的不多,对时间复杂度只是一个模糊的概念。今天就谈谈具体能衡量的单位。

1.iOS手机1s能计算多少次呢?

写个for循环就能验证

func testTime() {
        for i in 0..<2000000 {
            
        }
        print("运算完成了")
    }

Test Case '-[WPALG_Tests.Test493reversePairs testTime]' passed (1.072 seconds).

结论:iOS模拟器,大约200万/s左右

2.两个常用的复杂度衡量单位:o(n2)与o(nlogn)

假如数据量在50000左右:
  1. o(n2)大概就是2500000000,要跑12.5s
  2. o(nlogn)大概就是540988,要跑0.25s

总结

  1. 了解时间复杂度n到底是什么,同时手机的具体运行次数,也了解nlogn与n的之间的差距。
  2. 对手机或电脑的计算能力有个大致了解。
上一篇下一篇

猜你喜欢

热点阅读