我是Java开发人员,我想了解有关程序的复杂性及其计算? (我是初学者,请简单来说,我可以提前了解 感谢回答.. !!)什么是程序的复杂性以及如何计算它?
回答
一般而言,复杂性是您必须执行的一系列操作才能实现您的目标。
复杂性被标记为O(n),其中n
是复杂性。例如,分配的复杂性是O(1)。
访问数组元素的复杂性也是O(1)。对数组,集合,映射等所有元素进行迭代的复杂度为O(n),其中n是集合元素的数量。例如,如果要查找n元素数组的所有元素的总和,则必须执行复杂度为O(n)的操作。
请注意查找数组的特定元素的复杂性也是n虽然平均操作数是n/2,因为元素可能在第一个,最后或任何其他位置。
排序的复杂性取决于算法。简单的算法对O(n^2)的复杂度进行排序,而较快的短算法则有O(n * ln(n))。
快速排序不具有ln(n)复杂性。 –
https://en.wikipedia.org/wiki/Quicksort#Formal_analysis –
@AndyTurner,当然,谢谢,修正。它是n * ln(n) – AlexR
有2种类型的复杂性 1.空间复杂度 2.时间复杂度
的时间要求程序(或循环或语句)的执行被视为时间复杂性。程序所需的空间或内存被认为是空间复杂性。这两种复杂性都以Big Oh符号来衡量。
- 1. 什么是应用程序的足迹以及如何计算它?
- 2. 为什么Linux如此复杂以及如何处理它?
- 3. 如何计算算法的复杂性?
- 4. 什么是最长的无动态编程,以及如何计算它
- 5. 为什么STL集大小复杂度是O(1),它是如何计算的?
- 6. 什么是NSDictionary的-allKeys方法的计算复杂性?
- 7. 计算复杂性?
- 8. 用于计算SourceMonitor中复杂性的参数是什么?
- 9. 我们如何计算以下程序的时间复杂度:
- 10. 以下算法的复杂性是什么?
- 11. 在计算合并排序的复杂度时,什么是“cn”?
- 12. 快速排序的复杂性计算
- 13. 这种排序算法的复杂性是什么?
- 14. 代码或算法的复杂性是什么意思?我们如何计算它?
- 15. 什么是(void(**)())以及如何typedef它?
- 16. 什么是实体框架中的复杂类型以及何时使用它?
- 17. 什么是DSA复杂性?
- 18. 什么是Control的DesignMode属性以及如何使用它?
- 19. 复杂性(计算大O)
- 20. 什么是@SuppressWarnings(“deprecation”)以及如何修复它?
- 21. 这是什么弹簧错误以及如何修复它
- 22. 什么是HTML5 itemid属性,以及如何使用它?
- 23. 如何计算复杂度
- 24. 如何计算复杂度?
- 25. mac中的sh进程是什么以及如何杀死它
- 26. 如何计算算法的复杂度?
- 27. 计算预期时间递归程序的复杂性
- 28. 什么是A *时间复杂度,它是如何派生的?
- 29. 什么是性能计数器以及如何在ASP.NET应用程序中使用它们
- 30. 复杂的线程索引计算是否会影响性能?
试试这些作为基本的解释:https://justin.abrah.ms/computer-science/big-o-notation-explained.html https://rob-bell.net/2009/06/a-beginners -guide-to-big-o-notation/ – sprinter
要查找有关时间复杂度的信息,请单击时间复杂度标记,然后单击数字下方右上角的*“about»”*。 – user3386109
这可能不是这个问题的正确论坛,因为它非常广泛和复杂。我建议检查一下这方面的一些书面资料。我自己,从这里学到了它(https://www.google.se/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=khan+academy+time+complexity) – Gikkman