【问题标题】:What is the time complexity of the below program?以下程序的时间复杂度是多少?
【发布时间】:2020-07-30 02:52:36
【问题描述】:

反转字符串的程序。我认为它的复杂性是 O(n/2)enter image description here

【问题讨论】:

  • 欢迎来到 SO。请不要张贴代码图片。而是发布代码。

标签: c algorithm data-structures time-complexity


【解决方案1】:

是的,循环需要 n/2 步。但是,时间复杂度仍然是 O(n)。

【讨论】:

    【解决方案2】:

    确实是 O(n/2),与 O(n) 相同,因为常数因子在大 O 表示法中并不重要。

    请注意,在 C 中,这不是由循环限制,而是由函数 strlen 限制,即 O(n)。

    【讨论】:

      【解决方案3】:

      实际上是 O(n),因为 big o 仅衡量“大局” -> 代码仅取决于字符串的长度。更详细的答案可以找到here

      【讨论】:

        【解决方案4】:

        说实话,每次看到 O(n/2) 都需要说服自己是 O(n)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-02-28
          • 2014-01-14
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多