Algorithm 函数加减的大O证明

Algorithm 函数加减的大O证明,algorithm,big-o,proof,Algorithm,Big O,Proof,假设f(n)=O(s(n))和g(n)=O(r(n))。(通过反例)证明或反驳以下主张: f(n)-g(n)=O(s(n)-r(n)) 如果f(n)=O(g(n)),那么f(n)+g(n)=O(s(n)) 我真的不知道从哪里开始。。请帮助一位年轻的学生。请给出解释,而不仅仅是解决方案。非常感谢。正式定义:f(n)=O(s(n))当且仅当两个常量M>0和n>0存在时,例如对于所有n>n,| f(n)| n,| f(n)-g(n)|对于所有n>n,| n-1 |我不再赘述,您可以明智地为n选择一个合

假设
f(n)=O(s(n))
g(n)=O(r(n))
。(通过反例)证明或反驳以下主张:

  • f(n)-g(n)=O(s(n)-r(n))
  • 如果f(n)=O(g(n)),那么f(n)+g(n)=O(s(n))

  • 我真的不知道从哪里开始。。请帮助一位年轻的学生。请给出解释,而不仅仅是解决方案。非常感谢。

    正式定义:
    f(n)=O(s(n))
    当且仅当两个常量
    M>0
    n>0
    存在时,例如
    对于所有n>n,| f(n)| n,| f(n)-g(n)|
    对于所有n>n,| n-1 |我不再赘述,您可以明智地为n选择一个合适的值,这会导致矛盾

    因此s(n)-r(n)不是f(n)-g(n)的大O

    b): 反例:

    f(n)=1
    s(n)=1
    g(n)=n

    我们有:
    f(n)=O(s(n))
    (n=1,M=1完成定义工作)和
    f(n)=O(g(n))
    (相同,n=1,M=1)

    假设
    f(n)+g(n)=O(s(n))
    ,我们有两个常数n,M来验证定义:

    对于所有n>n,| f(n)+g(n)|
    对于所有n>n,1+n这里我选择固定n
    对于n=M+n(>n),1+M+n
    对于n=M+n(>n),1+N0


    所以s(n)不是g(n)+f(n)形式定义:
    f(n)=O(s(n))
    当且仅当两个常数
    M>0
    n>0
    存在,例如
    对于所有n>n,| f(n)|f(n)-g(n)
    对于所有n>n,| n>n,| n-1 |我不再赘述,你可以明智地为n选择一个合适的值,这会导致矛盾

    因此s(n)-r(n)不是f(n)-g(n)的大O

    b): 反例:

    f(n)=1
    s(n)=1
    g(n)=n

    我们有:
    f(n)=O(s(n))
    (n=1,M=1完成定义工作)和
    f(n)=O(g(n))
    (相同,n=1,M=1)

    假设
    f(n)+g(n)=O(s(n))
    ,我们有两个常数n,M来验证定义:

    对于所有n>n,| f(n)+g(n)|
    对于所有n>n,1+n这里我选择固定n
    对于n=M+n(>n),1+M+n
    对于n=M+n(>n),1+N0


    因此s(n)不是g(n)+f(n)的一个大O

    提示:从一个正式定义开始可能是一个好主意:
    f(n)=O(s(n))
    当且仅当存在两个常量
    M>0
    n>0
    时,例如所有n的
    ,| f(n)|尝试插入各种函数
    f
    s
    g
    ,和
    r
    看看它是否能给你一些直觉。提示:从正式定义开始可能是个好主意:
    f(n)=O(s(n))
    当且仅当存在两个常数
    M>0
    n>0
    时,例如所有n>n的
    ,f(n)|尝试插入各种函数
    f
    s
    g
    ,和
    r
    看看它是否能给你一些直觉。我们通常会在你这方面寻找更多的工作。
    g(n)=1
    r(n)=n
    意味着
    g(n)=1=O(r(n))=O(n)
    =>
    1=O(n)
    ?我不明白为什么
    1=O(n)
    是一个正确的陈述。只要用n=1和m=1来定义就行了:
    对于所有n>1,| 1 | O正确..完全是愚蠢的吗。谢谢你的澄清哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈?我不明白为什么
    1=O(n)
    是一个正确的陈述。只要用n=1和m=1来定义就行了:
    对于所有n>1,| 1 | O正确..完全是愚蠢的吗。谢谢你的澄清哈哈哈