Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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
Algorithm 算法复杂性_Algorithm - Fatal编程技术网

Algorithm 算法复杂性

Algorithm 算法复杂性,algorithm,Algorithm,我需要一些算法复杂性方面的帮助,我应该能够回答以下问题: 设f(n)和g(n)分别表示Chang&Roberts算法在最佳和平均情况下的消息复杂度。 下列哪种渐近关系是错误的 a) f(n)=Θ(g(n)) b) f(n)=O(g(n)) c) f(n)=o(g(n)) d) g(n)=Ω(g(n)) 设f(n)和g(n)分别表示Chang&Roberts算法在最坏和平均情况下的消息复杂度。下列哪种渐近关系是错误的 a) f(n)=Θ(g(n)) b) f(n)=Ω(g(n)) c) f(n)=

我需要一些算法复杂性方面的帮助,我应该能够回答以下问题:

  • 设f(n)和g(n)分别表示Chang&Roberts算法在最佳和平均情况下的消息复杂度。 下列哪种渐近关系是错误的

    a) f(n)=Θ(g(n))
    b) f(n)=O(g(n))
    c) f(n)=o(g(n))
    d) g(n)=Ω(g(n))

  • 设f(n)和g(n)分别表示Chang&Roberts算法在最坏和平均情况下的消息复杂度。下列哪种渐近关系是错误的

    a) f(n)=Θ(g(n))
    b) f(n)=Ω(g(n))
    c) f(n)=!(g(n))
    d) f(n)=O(g(n))

  • 我知道Chang&Roberts算法的复杂性如下:

    Θ(n^2)最坏情况

    Θ(n)最佳情况

    Θ(n对数n)平均情况

    问题1的答案是a,因为问题2是a,d。 我知道Θ和e之间的区别(定义)Ω 但我无法将它们应用于这些问题。你能帮我吗

    例如,在第一个问题中,这样看答案正确吗

    f(n) = Θ(n), g(n) = Θ(n log n)
    
    a) Θ(n) = Θ(Θ(n log n)) 
    b) Θ(n) = O(Θ(n log n)) 
    c) Θ(n) = o(Θ(n log n)) 
    d) g(n) = Ω(Θ(n log n))
    
    在第一个问题中,f(n)=Θ(g(n))iff(n)和g(n)渐近相等。 但是n和nlogn不是渐近相等的。答案是a

    有关更多说明,请参见第二个选项。f(n)=O(g(n))iff g(n)渐近地大于或等于f(n)。因此,n=O(nlogn)是正确的

    请参见第三个选项。f(n)=o(g(n))当f(n)渐近大于f(n)时。因此,n=o(nlogn)是正确的,因为nlogn渐近地大于n

    参见第四个选项。f(n)=Ω(g(n))iff g(n)渐近地小于或等于f(n)。那么,诺朗=Ω(nlogn)是正确的,因为它们渐近相等

    我只解决了第一个问题,展示了方法。试试第二个

    例如,在第一个问题中,这样看答案正确吗

    f(n) = Θ(n), g(n) = Θ(n log n)
    
    a) Θ(n) = Θ(Θ(n log n)) 
    b) Θ(n) = O(Θ(n log n)) 
    c) Θ(n) = o(Θ(n log n)) 
    d) g(n) = Ω(Θ(n log n))
    
    不,因为左侧是函数,右侧是集合

    a) Θ(n) = Θ(Θ(n log n)) 
    b) Θ(n) = O(Θ(n log n)) 
    c) Θ(n) = o(Θ(n log n)) 
    d) g(n) = Ω(Θ(n log n))
    
    a-d:不,因为集合不等于应用于另一集合的集合。不能将set用作函数


    您可能正在寻找“求和”和“求交”之类的集合运算。

    我投票将此问题作为离题题题来结束,因为这不是家庭作业解决服务。@Xentros显然您没有阅读全部帖子,因为我还列出了问题的答案。嵌套的“O”和“thetas”和“omegas”相对来说是毫无意义的。表达这些东西的正确方式是egΘ(n)⊆ Θ(n log n)。它们是套装。@harold你是建议去掉Θ,还是Ω 在括号内?例如,o(Θ(n^2))必须读作o(n^2)?当询问家庭作业时(1)注意你的学校政策:在这里寻求帮助可能构成作弊。(2) 指定问题是家庭作业。(3) 首先,真诚地尝试自己解决问题(在问题中包含代码)。(4) 询问现有实施中的具体问题;看见还有,是关于提出家庭作业问题的指导。你是建议删除Θ、O还是Ω 在括号内?例如,o(Θ(n^2))必须读作o(n^2)?是的,n^2和Θ(n^2)是相同的。顺便问一下,我在哪里提到要移除Θ、O或Ω? 如果你清楚渐近比较函数,那么我的解释对你来说应该是清楚的。选项b是O(Θ(n logn)),你说n=O(nlogn),所以你删除了Θ,还是没有?很可能我对比较函数感到困惑,你可以这样做,因为f(n)和Θ(f(n))是渐近相等的,对于O和Ω? 例如o(o(n^2))等于o(n^2)?为什么在第三个选项中使用O而不是O?是的,这就是问题所在,我仍然对此感到困惑。你能给我推荐一些关于集合运算的书吗?是的,Cormen的算法介绍