在最坏的情况下,我在理解这3个符号的差异时遇到了问题。
最坏的情况是大o= upperbound,永远不会跑得更快。
最坏的情况下,大omega =下界,在最坏的情况下永远不会运行得更快?
大θ=在下界和上界之间的最坏情况,在最坏的情况下会在这些界限之间运行吗?
编辑:
抱歉,我说得不清楚。我不确定我对大o的最坏情况,大omega的最坏情况和大theta的最坏情况的理解是否正确。我在"=“后面写的东西就是我想的那样。
发布于 2021-02-10 23:25:51
你概述的内容似乎大体上是正确的。要画出的一个重要区别是情况和界限之间的区别。
这种情况是目前正在考虑的输入类别。你可以考虑你的算法在哪类输入上表现最差,或者你的算法在哪类输入上表现最好。
界限是一个函数,它说明算法使用的资源-通常是时间或空间-随着输入的变化而变化。上界和下界是典型的。
您可以自由地混合和匹配您认为合适的大小写和边界。
也许你想知道算法的最坏情况的上限,这样你就可以知道在最坏的情况下缩放会是什么样子。这可以让您相信,无论如何使用,您的解决方案都将具有足够的可扩展性
也许你想知道最坏情况下的下限,以了解你的解决方案是否尽可能快-如果它的缩放行为对于你试图解决的问题是最佳的。例如,我们知道基于比较的整数排序是Omega(n log n),没有任何额外的假设。如果你写一个排序过程,你能达到这个界限吗,或者你的方法速度慢吗?
最佳案例分析当然也有它的用处。您还可以通过获取给定参数的输入的一些分布来讨论平均案例分析,并找到相应的界限;类似的分析是摊销分析,其中您的“案例”实际上是一系列操作。
https://stackoverflow.com/questions/66139120
复制相似问题