【问题标题】:worst case is equal to best case algorithms最坏情况等于最佳情况算法
【发布时间】:2021-07-05 18:41:16
【问题描述】:

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

如果最坏情况下 X 算法的复杂度等于最好情况下 Y 算法的复杂度,这两种算法哪个更快?解释原因!” p>

【问题讨论】:

  • 那么,如果 X 的运行时间小于或等于 Y 的运行时间,哪个更快? (假设输入足够大)
  • 比较算法的标准方法是大 O,但这总是最坏的情况。比较实际算法的最佳方法是将它们与典型数据进行基准测试,否则变量太多。
  • 我理解你们,但我真的要回答这个问题,这对我来说没有意义
  • @IanMercer 修复了它,不应该在那里
  • 只有好的问题才能吸引好的答案,如果您想获得有用的答案,您需要先明确您的问题。您可能需要重新组织您的单词并添加示例来详细说明它。 (当你试图让问题清晰和准确时,你的问题得到了自己的回答是很常见的)

标签: algorithm time-complexity


【解决方案1】:

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

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

这是“看看你是如何推理事物”的问题之一,而不是“得到正确答案”的问题。

【讨论】:

  • 当然,完全无法推理是自动失败。
【解决方案2】:

让我尝试分步解释:

  1. 了解算法可能具有不同的最佳/平均/最差时间复杂度,具体取决于输入大小等因素。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-27
    • 2019-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多