最坏情况等于最好情况算法

worst case is equal to best case algorithms

我正在尝试回答这个关于算法的问题,但我不明白这可能是什么。我没有任何示例可以提供给您,我正在分享它,就像与我分享的一样:

"如果最坏情况下X算法的复杂度等于最好情况下Y算法的复杂度,这两种算法哪个更快?解释一下为什么!"

他们不是在寻找任何具体的答案。他们正在寻找你如何推理这个问题。例如,您可以推理如下:

显然,人们更喜欢一种算法,其最坏情况与另一种算法的最佳情况一样好。因为在最坏的情况下,它们是相等的,而在最好的情况下,它们更好。但是复杂性并不是判断算法的唯一标准,...

这是“了解您如何推理事物”的问题之一,而不是“获得正确答案”的问题。

让我试着分步骤解释一下:

  1. 了解一个算法可以有不同的 best/average/worst 时间复杂度,具体取决于输入大小等因素

  2. 如果算法 X 的最差性能等于算法 Y 的最佳性能的复杂度,那么您可以推断,总体而言,算法 X 比算法 Y 快,但这仅考虑了渐近复杂度.参见 3.

  3. 当然还有很多其他因素你要考虑。考虑当算法 X 对于非常特定的输入比 Y 表现更好但平均和在最坏情况下,X 和 Y 表现相同的场景,那么有必要了解这两种算法之间的权衡,例如 space 复杂度和摊销的复杂性。