Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Big o 复杂性证明顺序的证明_Big O_Complexity Theory - Fatal编程技术网

Big o 复杂性证明顺序的证明

Big o 复杂性证明顺序的证明,big-o,complexity-theory,Big O,Complexity Theory,证明如果f(n)是Ω(n∗g(n)),那么f(n)不是O(g(n) 假设f(n)是Ω(n∗ g(n))和f(n)是O(g(n))。想要显示矛盾。方法是找到一个与定义冲突的n值。 证明:f(n)是Ω(n∗ g(n))表示存在正值C和k,因此n>k表示f(n)≥ C∗ N∗ f(n)是O(g(n))意味着存在正值C′和k′,因此n>k′意味着f(n)≤ C∗ g(n)假设:ω表示下限复杂度,大Oh表示上限复杂度,这个问题可以用这两个的定义来解决 如果f(n)是ω(n*g(n)),则这意味着(根据定义

证明如果f(n)是Ω(n∗g(n)),那么f(n)不是O(g(n)

假设f(n)是Ω(n∗ g(n))和f(n)是O(g(n))。想要显示矛盾。方法是找到一个与定义冲突的n值。
证明:f(n)是Ω(n∗ g(n))表示存在正值C和k,因此n>k表示f(n)≥ C∗ N∗ f(n)是O(g(n))意味着存在正值C′和k′,因此n>k′意味着f(n)≤ C∗ g(n)

假设:ω表示下限复杂度,大Oh表示上限复杂度,这个问题可以用这两个的定义来解决

如果f(n)是ω(n*g(n)),则这意味着(根据定义)存在n0和M0,因此对于所有n>n0,f(n)>M0*n*g(n)

如果f(n)是O(g(n)),那么这意味着(根据定义)存在n1和M1,对于所有n>n1,f(n) 设n2=max(n0,n1),则所有n>n2,M1*g(n)>f(n)>M0*n*g(n)的

现在我们将关注两个复杂度,没有函数,我们有M1*g(n)>M0*n*g(n),因此M1>M0*n,因此n 现在,不管M1和M0取什么值,nn2都不是真的,如果我们假设这两个复杂度都是正确的,这是必要的

因此,我们得出了一个矛盾,因此这两种复杂性不可能同时成立


祝你学习顺利。

你认为欧米伽和大O是什么意思?有时只是下界,有时是上界,有时是两者(尤其是口语用法)。.不管怎样,当n接近无穷大时,这些表示极限,所以从极限的定义来证明应该相对容易,这是我的建议。ω表示下限,大O表示上限。@Maurycytω和大O符号有一个数学定义,所以它们没有不同的含义,根据你如何使用它们。是的,我看这就是为什么加上“特别是口语化使用时”,因为我现在是一名学生,我领导高中学生的算法研讨会,我和我的同龄人都没有注意到哪个界是哪个界,哈哈,没什么,真的。它只是n_0和n_1中的较大者。注意,如果满足n>n_1,那么满足n>n_2。同样,如果满足一个条件对于n>n_0,则满足于n>n_2。我引入n_2是为了确保ifs的证明不会太混乱。