查看网友评论有这样一句话:一个分支判断会耗上14个左右的时钟周期。
这里我就联想到了我看CSAPP中的几个知识点。
对于解法五的查表法,提供了一种很好的思想,虽然被大牛给否决了,但是在处理小规模,或者多次查表的应用中不失为一种很好的方法,比如我的博客中整型转字符串的算法就是用的这种方法(http://blog.csdn.net/z702143700/article/details/46715893)。
下面是大牛的评论,大致意思精简如下,非常好。
对于这种小规模问题,CPU时钟周期和内存读取可能就比时间复杂度显得更加重要了。这里用到一个访存操作,且第一次访存的时候很有可能数组不在cache里,这样一个cache miss导致的后果就是耗去几十甚至上百个时钟周期,所以这里虽然时间复制度为O(1),但是性能是很差的。
对于时钟周期的概率可以参考(http://blog.csdn.net/z702143700/article/details/46278069)
最后,最好的解法并不是书中提到的,所以感叹一句没有最好,只有更好。
更好的解法见博客(http://blog.csdn.net/justpub/article/details/2292823)
给我的启发是乘除的效率是较低的,移位运算需要我们经常拿来考虑。
未完待续。。。
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/z702143700/article/details/47069327