Time 负号表示函数的时间复杂度(若存在)?

Time 负号表示函数的时间复杂度(若存在)?,time,complexity-theory,Time,Complexity Theory,考虑一些函数具有时间复杂度n-logn。所以这里的负号表示什么 它的复杂度将包括-logn,它将小于n,或者它将包含它作为logn操作,它将大于n???算法的时间复杂度量化了算法运行所花费的时间量,作为输入长度/大小的函数 例如: 未排序列表的线性搜索:O(n),其中n是 列表中的元素 bubblesort:O(n²),其中n是正在排序的元素数 现在,有时这些界限是上界。在这种情况下,人们往往会聚集在一起。 这样说真的没什么用 该算法采用O(n²-2n+1)运算,因为对于足够大的n值,n²支

考虑一些函数具有时间复杂度n-logn。所以这里的负号表示什么


它的复杂度将包括-logn,它将小于n,或者它将包含它作为logn操作,它将大于n???

算法的时间复杂度量化了算法运行所花费的时间量,作为输入长度/大小的函数

例如:

  • 未排序列表的线性搜索:O(n),其中n是 列表中的元素
  • bubblesort:O(n²),其中n是正在排序的元素数
现在,有时这些界限是上界。在这种情况下,人们往往会聚集在一起。 这样说真的没什么用 该算法采用O(n²-2n+1)运算,因为对于足够大的n值,n²支配2n

在您的例子中,所描述的算法的复杂性为O(n-log(n))。 可以使用为输入值n产生非负输出的任何数学函数。
使用-log(n)不是问题。

在n-logn的情况下,我们应该如何解释负号,我会说操作可以大于n或小于n,我会将其解释为“n减去log(n)”而不是“介于log(n)和n之间”,因为log(n)通常比n小得多。“在log(n)和n之间”指定的范围太大,无法用于实际的n值。如果我错了,请更正,如果我有两个算法,一个算法的复杂度为n+logn,另一个算法的复杂度为n-logn,让它发生,这将需要更多的运算,什么符号表示复杂度需要O(n+log(n))的算法将比使用O(n-log(n))的算法花费稍多的时间,但通常不会太多。n-log(n)很可能是n*ln(n),但写得很糟糕。您能提供遇到此符号的上下文吗?