具有绝对值的大O符号?
问题描述:
我正在通过一些编程面试问题书,我已经看到参考"O(|A|)"
时间复杂性。我从来没有看到这个符号给出的绝对值。具有绝对值的大O符号?
一些研究使我转向Big O Cheatsheet,它在图表部分下引用了这种表示法。我正在研究的问题是关于分割一个数组,这不是一个图形问题(尽管我冒险可能表明我对该语句的无知)。
是否|A|
请参考阵列的大小,或以其他方式数量的元素,即O(N)
?
答
你总是会遇到这样的标记时A
不是数字。
A
可能还有很多的东西,所以|A|
取决于上下文。例如。
-
A
是格子的向量,所以|A|
是向量的长度。 -
A
是一个(可能未知)算法(例如,攻击者的加密),则|A|
可以是该算法的复杂性或该算法使用随机位向量的长度。 -
A
是一个集合,然后是|A|
集合中的元素数量,如Kostub Deshmukh所提到的。
可以有更多的情况。
我很确定例如'V'是指顶点集合,'| V |'是指它的[cardinality](https://en.wikipedia.org/wiki/Cardinality)(=顶点的数量)。 – Lynn