2010-09-09 44 views

回答

0

首先,函数可能需要一段时间来执行算法。它也可以是非线性的,甚至是无限的。

不久,如果你有一个算法,那么它被用来称为图灵机的抽象。它用于测量在暂停之前执行算法所需的多个操作。

更精确的信息,你可以到这里WIKI::Computational complexity theory

2

有三种方法可以做到这一点(至少)。

  1. 在网络上查找算法,看看它对时间复杂性的描述。

  2. 根据输入大小,自己检查算法以查看诸如嵌套循环和递归条件以及每个循环运行或每次递归的频率。这是一个严格的数学分析。

  3. 实验。改变输入变量,看看需要多长时间。计算的公式,让你说基于变量运行时(联立方程的解决是一个可能性,这里为O(n ç)型功能。

这些,可能是第一个是最简单的因为它几乎肯定会由更有知识的人制作第二个:-)

+0

请看这里(http://www.crsr。 net/Notes/BigO.html),“排序”部分可以了解排序算法的测量复杂性。 – Igor 2010-09-09 03:58:42

0

关于依赖于CPU: 答案是否定的 - 时间复杂度完全独立于cpu。这是因为复杂性表明 - 算法对cpu资源的需求随着算法输入数据大小的增加而增加。换句话说,这是一个功能。和功能无处不在 - 无论是在不同的机器上还是在不同的星球上:)