是否存在复杂度为O(log n)的函数,而幂(2,f)不在O(n)中

时间:2016-01-30 17:22:20

标签: algorithm big-o time-complexity

无法想出这个:

是否有一个函数Button button1 = FindViewById<Button>(Resource.Id.button1); button1.Click += (sender, e) => { // Perform action on click };

f

但是,

f(n) is in O(log n)

应该是正确的,但我不明白为什么。

2 个答案:

答案 0 :(得分:3)

是的,请考虑以下示例:

A = logn + logn / 2,所以A = O(log n)

2 A = 2 logn + logn / 2 = 2 logn * 2 logn / 2 = n * n / 2 = 1 / 2n 2 != O(n)

(更具体地说,2 A =ω(n),意味着它的生长速度比线性函数快得多。)

答案 1 :(得分:-1)

嗯,是的,不是......

你的定义有多精确?什么是log(n)给你?

在工程log(n)中通常意味着log_10(n),在CS中通常是log_2(n)但是O(log_m(n))属于O(log_h(n))的同一类。< / p>

那你的意思是2**(fn(n))fn(n)确实返回一个整数?

问题不明确。