什么是程序的复杂性以及如何计算它?

时间:2016-10-27 06:24:17

标签: java algorithm time-complexity

我是Java开发人员,我想了解程序的复杂性及其计算方法? (我是初学者请用简单的语言回答我能理解 在此先感谢.. !!)

2 个答案:

答案 0 :(得分:0)

有两种类型的复杂性 空间复杂性 2.时间复杂度

执行程序(或循环或语句)所需的时间被称为时间复杂度。程序所需的空间或内存被称为空间复杂性。这两种复杂性都用Big Oh表示法测量。

答案 1 :(得分:0)

通常,复杂性是您为实现目标必须执行的一系列操作。

复杂性标记为O(n),其中n是复杂性。例如,赋值的复杂性是O(1)。

访问数组元素的复杂性也是O(1)。对数组,集合,映射等的所有元素进行迭代的复杂性是O(n),其中n是集合的元素数。例如,如果要查找n元素数组的所有元素的总和,则必须执行复杂度为O(n)的操作。

请注意,查找数组的特定元素的复杂性也是n,尽管平均操作数是n / 2,因为元素可能位于第一个,最后一个或任何其他位置。

排序的复杂性取决于算法。简单算法对复杂度为O(n ^ 2)的数组进行排序,而快速短路等更好的算法则为O(n * ln(n))。