order-notation中函数的最大值和最小值

时间:2012-01-18 09:20:20

标签: algorithm big-o

订单符号问题,大写符号等:

函数的最大值和最小值在订单表示法方面意味着什么?

例如:

  

定义:

     

“最大”规则:假设f(n)和g(n)是所有n的正函数&gt; Ñ<子> 0

     
    

然后:

         
      
          
  • O [f(n)+ g(n)] = O [max(f(n),g(n))]

  •       
  • 等...

  •       
    
  

我需要使用这些定义来证明家庭作业......感谢您的帮助!

编辑:f(n)和g(n)应该表示算法相对于输入大小的运行时间

2 个答案:

答案 0 :(得分:3)

这是自然数之间的常规最大值。 f是映射到数字[f:N->N]的函数,g也是。

因此,f(n)位于N,因此max(f(n),g(n))只是标准最大值:f(n) > g(n) ? f(n) : g(n)

O[max (f(n),g(n)) ]表示:哪个更“昂贵”:fg:它是上限。

答案 1 :(得分:3)

使用Big-O表示法,你在谈论计算的上限。这意味着您只对组合函数的最大项感兴趣,因为 n (变量)趋于无穷大。更重要的是,你删除任何常数乘数,因为符号的形式化定义允许你丢弃那些部分,这很重要,因为它允许你专注于算法的行为而不是算法的实现。

因此,我们通过求和将两个函数组合在一起。嗯,有两种情况(严格来说是三种,但它是对称的):

  1. 一个功能的顺序高于另一个功能。此时,高阶函数占主导地位较小;你可以假装较小的不存在。
  2. 两个功能的顺序相同。这就像你正在做两种比例的总和(因为我们已经抛弃了缩放因子)但是你最后得到了相同的因子并且稍微改变了缩放因子。 / LI>

    最终结果看起来非常像max()函数,即使它实际上不是(它实际上是函数空间上的max的泛化),因此使用表示法非常方便。