代码示例:
假设我们需要证明 n log n = O(n),即存在一个常数C和一个正整数N,使得对于所有的n > N,有 n log n ≤ Cn 成立。
我们可以选择 C = 2,然后找到一个正整数N,使得对于所有的n > N,有 n log n ≤ 2n 成立。
我们可以通过求解不等式来找到N的值:
n log n ≤ 2n
将不等式两边都除以n,得到:
log n ≤ 2
由于log n是递增函数,我们可以通过求解等式来找到N的值:
n = 2^2
n = 4
所以,当n > 4时,n log n ≤ 2n 成立。
因此,我们可以选择 C = 2 和 N = 4,使得对于所有的n > N,有 n log n ≤ 2n 成立,即 n log n = O(n)。
同样的方法可以用来证明 n log n = Omega(n)。我们需要找到一个常数C和一个正整数N,使得对于所有的n > N,有 n log n ≥ Cn 成立。
我们可以选择 C = 1/2,然后找到一个正整数N,使得对于所有的n > N,有 n log n ≥ (1/2)n 成立。
同样地,我们可以通过求解等式来找到N的值:
n log n = (1/2)n
将不等式两边都除以 n log n,得到:
1 ≤ (1/2) / log n
可以发现,当 n ≥ 2 时,右边的式子一直大于1。
因此,我们可以选择 C = 1/2 和任意大于等于2的正整数N,使得对于所有的n > N,有 n log n ≥ (1/2)n 成立,即 n log n = Omega(n)。