Javascript Array: 什么是排序然后映射的大O?
Javascript Array: what is a Big O of performing sort and then map right after on it?
arr.sort((a, b) => a - b).map(num => num ** 2);
以下操作的大O是什么?
据我了解,JS中内嵌的sort
函数的Big O是O(Nlog(N))
,而map
的Big O是O(N)
,因此Big O是O(Nlog(N))
?
您的函数 f
的复杂性,arr
大小 n
。我们假设:
arr.sort ∈ O(nlogn)
arr.map ∈ O(n),
我们可以将这些项相加,因为这些操作是连续进行的(一个接一个。因此,
f(n) ∈ O(nlogn + n)
请注意,nlogn
项会缓慢增长,但最终:
as n -> infinity, nlogn >> n
thus, as n -> infinity, nlogn + n -> nlogn
所以对于足够大的 n
,我们可以简化为 O(nlogn)
。
所有这些都是在说,是的,你明白了。
arr.sort((a, b) => a - b).map(num => num ** 2);
以下操作的大O是什么?
据我了解,JS中内嵌的sort
函数的Big O是O(Nlog(N))
,而map
的Big O是O(N)
,因此Big O是O(Nlog(N))
?
您的函数 f
的复杂性,arr
大小 n
。我们假设:
arr.sort ∈ O(nlogn)
arr.map ∈ O(n),
我们可以将这些项相加,因为这些操作是连续进行的(一个接一个。因此,
f(n) ∈ O(nlogn + n)
请注意,nlogn
项会缓慢增长,但最终:
as n -> infinity, nlogn >> n
thus, as n -> infinity, nlogn + n -> nlogn
所以对于足够大的 n
,我们可以简化为 O(nlogn)
。
所有这些都是在说,是的,你明白了。