cot x cot 2x -- cot 2x cot 3x - cot 3x cot x = 1
9
Answers
Answer:
a running time is \Omega(f(n))Ω(f(n))\Omega, left parenthesis, f, left parenthesis, n, right parenthesis, right parenthesis, then for large enough nnn, the running time is at least k \cdot f(n)k⋅f(n)k, dot, f, left parenthesis, n, right parenthesis for some constant kkk. Here's how to think of a running time that is \Omega(f(n))Ω(f(n))\Omega, left parenthesis, f, left parenthesis, n, right parenthesis, right parenthesis:
We say that the running time is "big-Ω of f(n)f(n)f, left parenthesis, n, right parenthesis." We use big-Ω notation for asymptotic lower bounds, since it bounds the growth of the running time from below for large enough input sizes.
Just as \Theta(f(n))Θ(f(n))\Theta, left parenthesis, f, left parenthesis, n, right parenthesis, right parenthesis automatically implies O(f(n))O(f(n))O, left parenthesis, f, left parenthesis, n, right parenthesis, right parenthesis, it also automatically implies \Omega(f(n))Ω(f(n))\Omega, left parenthesis, f, left parenthesis, n, right parenthesis, right parenthesis. So we can say that the worst-case running time of binary search is \Omega(\log_2 n)Ω(log
2
n)\Omega, left parenthesis, log, start base, 2, end base, n, right parenthesis.
We can also make correct, but imprecise, statements using big-Ω notation. For example, if you really do have a million dollars in your pocket, you can truthfully say "I have an amount of money in my pocket, and it's at least 10 dollars." That is correct, but certainly not very precise. Similarly, we can correctly but imprecisely say that the worst-case running time of binary search is \Omega(1)Ω(1)\Omega, left parenthesis, 1, right parenthesis, because we know that it takes at least constant time.
Of course, typically, when we are talking about algorithms, we try to describe their running time as precisely as possible. We provide the examples of the imprecise statements here to help you better understand big-\OmegaΩ\Omega, big-OOO, and big-\ThetaΘ\Theta.