计算大o表示法o(n)和o(n^2)

yws3nbqq  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(467)

我有一个程序,它从一个数组列表中获取数据,需要花费o(n)个时间。
但也有一个嵌套for循环,它需要o(n^2)时间。
程序的时间复杂度是o(n^2)还是o(n^3)?

esbemjvw

esbemjvw1#

这取决于这两部分如何相互作用。如果它们互相调用(例如,对于列表中的每个元素(o(n)),则执行一个方法,在整个列表(o(n2))上执行嵌套循环,然后将它们相乘,得到o(n3)的时间复杂度。
如果它们是以串行方式调用的-即,您遍历列表(o(n)),并且一旦您是一个执行o(n2)算法的人,反之亦然,那么o(n)部分与o(n2)部分相比可以忽略不计,并且总体时间复杂度是o(n2)。

相关问题