【问题标题】:What would be the time complexity of this这个的时间复杂度是多少
【发布时间】:2018-04-25 12:57:36
【问题描述】:

所以我的疑问是在第 2 行,这里我们可以假设 array2 嵌套在 array1 中,从 O(n^2) 或 O(n) 那里的时间复杂度是多少?

function1()
{
  for-loop1{ function2(); } //line 2
}

function2()
{
  for-loop2(); 
}

【问题讨论】:

  • 我们需要看看这些函数在做什么。
  • 当然会包含在内。
  • 欢迎来到 StackOverflow。请按照您创建此帐户时的建议阅读并遵循帮助文档中的发布指南。 On topic 和 how to ask 在这里申请。 StackOverflow 不是设计、编码、研究或教程服务。
  • 您发布的代码的复杂度为 O(1):由于语义错误,它会在恒定时间内失败。 array1 和 array2 未定义。

标签: java arrays algorithm time-complexity


【解决方案1】:

您的示例的大 O 表示法很难确定,因为它不运行任何实际功能。您必须了解 Big O 描述了执行/计算的数量与输入大小的关系。

  • 如果您提供的函数对 array1 中的每个元素执行固定数量的操作,对 array2 中的每个元素执行固定数量的操作,则情况为 O(n)。
  • 如果它为数组中的每个元素再次循环遍历数组,那么它是 O(n^2),因为将大小加倍会导致计算量增加 4 倍。

【讨论】:

    猜你喜欢
    • 2020-12-03
    • 2015-06-17
    • 2017-09-11
    • 2015-06-12
    • 2021-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多