最近我在书上看到的一些算法分析,分析出来是比较容易的,写程序出来也没有问题,但是就是复杂度的上面我不是很懂
比如:Eratosthenes的算法为什么时间复杂度是NloglogN?(以2为底),我自己算出来只有一个log,而且表达形式相当奇怪
还有一道题是这样的,用N的二进制表示快速取幂运算中的乘法次数的精确计数,答案也是看不懂
,为什么要这样表示呢
另外还有个,程序A的最坏情形的运行时间是150NlogN,B是N的平方,有一个问是这样的问的:对于所有可能的的输入,B是否比A运行的更快?答案居然是yes,没有解释,我比较混乱了,难道在算法分析的情况中,这种情况不用分类讨论的吗?
怎么才能更好地学好算法分析呢?