Time Complexity on Linux Shell



我创建了这个简单的算法,用于研究它的复杂性。算法1

我研究了它的复杂度O(n^3),并尝试使用"时间"。命令。定时执行算法1

所以我决定增加复杂度,大约O(n^5)。算法2

但是当我使用时间命令时,时间并没有像我想象的那样增加。时序执行算法2

我认为时间并没有因为n的值而增加。基本上,当n很大时,函数f内名为a的变量不能保存这么大的数字。使用调试器和n=1000000000,我得到了一个随机数作为结果(-1486618624),因为int在c++中可以容纳的最大数量是2147483647,也许这就是为什么你没有看到任何变化,你可以尝试使用其他类型,如long long,在这种情况下会更好地为你服务(我想评论这个答案,但我没有足够的声誉x))

最新更新