您如何知道算法函数是否需要线性/常量/对数时间才能执行特定操作?它取决于CPU周期吗?如何确定算法函数的复杂性?
2
A
回答
0
首先,函数可能需要一段时间来执行算法。它也可以是非线性的,甚至是无限的。
不久,如果你有一个算法,那么它被用来称为图灵机的抽象。它用于测量在暂停之前执行算法所需的多个操作。
更精确的信息,你可以到这里WIKI::Computational complexity theory
2
有三种方法可以做到这一点(至少)。
在网络上查找算法,看看它对时间复杂性的描述。
根据输入大小,自己检查算法以查看诸如嵌套循环和递归条件以及每个循环运行或每次递归的频率。这是一个严格的数学分析。
实验。改变输入变量,看看需要多长时间。计算的公式,让你说基于变量运行时(联立方程的解决是一个可能性,这里为O(n ç)型功能。
这些,可能是第一个是最简单的因为它几乎肯定会由更有知识的人制作第二个:-)
+0
请看这里(http://www.crsr。 net/Notes/BigO.html),“排序”部分可以了解排序算法的测量复杂性。 – Igor 2010-09-09 03:58:42
0
关于依赖于CPU: 答案是否定的 - 时间复杂度完全独立于cpu。这是因为复杂性表明 - 算法对cpu资源的需求随着算法输入数据大小的增加而增加。换句话说,这是一个功能。和功能无处不在 - 无论是在不同的机器上还是在不同的星球上:)
相关问题
- 1. 函数的复杂性和算法
- 2. 如何计算算法的复杂性?
- 3. 高阶函数的计算复杂性?
- 4. Lodash函数的计算复杂性
- 5. Dijkstra算法的复杂性
- 6. 算法的复杂性
- 7. foo算法的复杂性
- 8. 算法的复杂性
- 9. PHP函数的算法复杂度strlen()
- 10. 确定最坏情况算法的时间复杂性
- 11. 确定函数的大O复杂度
- 12. CNN AlexNet算法复杂性
- 13. 算法复杂性分析
- 14. 如何确定算法的最坏情况复杂度?
- 15. 如何确定此算法的时间复杂度?
- 16. 给定函数的复杂性
- 17. 复杂性的函数的
- 18. 算法复杂度为这个函数
- 19. 确定复杂性等级
- 20. 如何计算算法的复杂度?
- 21. 如何计算算法的确切复杂度?
- 22. 无法总结算法的复杂性
- 23. 如何计算大O符号递归算法的复杂性?
- 24. 如何计算算法时间复杂
- 25. 关于算法复杂性的问题
- 26. 算法的复杂性 - 练习
- 27. 排序算法的复杂性
- 28. min-max算法的复杂性
- 29. 分析算法的时间复杂性
- 30. 递归算法的复杂性
阅读:http://en.wikipedia.org/wiki/Big_O_notation – NullUserException 2010-09-09 03:40:48