小编典典

Big O表示法的复杂度顺序是什么?

algorithm

嗨,我正在尝试了解按大O表示法表示的复杂性顺序是什么。我已经阅读了许多文章,甚至在这里对Big O的有用描述中,也找不到任何能确切解释“复杂性顺序”的内容。

我对大O的了解

我已经了解的部分。关于Big
O表示法是,我们正在根据输入大小n的增长来衡量算法的时间和空间复杂度。我也了解某些排序方法对于O来说具有最佳,最坏和平均的情况,例如O(n),O(n ^
2)等,并且n是输入大小(要排序的元素数)。

任何简单的定义或示例,将不胜感激,谢谢。


阅读 641

收藏
2020-07-28

共1个答案

小编典典

大O是要为某些功能的增长找到上限。请参阅Wikipedia上的正式定义http://en.wikipedia.org/wiki/Big_O_notation

因此,如果您有一个对大小数组进行排序的算法,n并且只需要恒定量的额外空间,并且需要完成(例如)2 n² + n步骤,那么您会说它的空间复杂度是O(n)O(1)(取决于您计算的数量输入数组的大小与否)及其时间复杂度为O(n²)

仅知道这些O数字,您就可以大致确定n到达n + 100和/ 2 n或感兴趣的任何地方还需要多少空间和时间。这就是算法“扩展”的程度。

更新资料

大O和复杂性实际上只是同一件事的两个术语。您可以说用“线性复杂度”代替O(n),用二次复杂度代替O(n²),等等。

2020-07-28