渐近边界和控制结构

问题描述

到目前为止,在学习算法时,我已经假定渐近边界与控制结构中的模式直接相关。 因此,如果我们有n ^ 2的时间复杂度,我想这会自动意味着我必须使用嵌套循环。但是我看到这并不总是正确的(对于其他时间复杂度,不只是二次的)。 如何处理时间复杂度与控制结构之间的这种关系?

谢谢

解决方法

Rice's theorem是对分析运行时间做出一般性陈述的重要障碍。

在实践中,有很多技术可以应用。许多算法都具有易于分析的嵌套循环结构。当这些循环之一的边界取决于数据时,您可能需要进行摊销分析。分而治之的算法通常可以通过Master Theorem或Akra–Bazzi进行分析。

但是,在某些情况下,运行时间分析可能非常微妙。以联合查找为例:获取逆阿克曼运行时间界限需要证明。然后对于像Collat​​z猜想这样的事情,我们甚至不知道如何获得有限的边界。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...