如果我可以将代码循环的次数减少一半,时间复​​杂度是否有任何变化?

时间:2019-05-03 16:03:35

标签: time-complexity

我想知道如果我进行就地交换而不是遍历数组中的每个字符,是否可以减少字符串反向函数的时间复杂度(Big O表示法)。

我最初以为是,因为进行就地交换只需要遍历给定字符串中一半的字符。尽管经过第二次思考,将得出O(.5n)的时间复杂度与渐近复杂度等于O(n),但我们忽略了乘数。

t

我可能已经回答了我自己的问题,因为我认为这将与我遍历字符串中的每个字符(即O(n))的时间复杂度相同,但也许我错过了一些事情,我只是想澄清一下。

1 个答案:

答案 0 :(得分:0)

您确实回答了自己的问题。将所有输入的时间缩短一半不会改变理论上的时间复杂度。理论上的时间复杂度只是衡量随着输入变得越来越大,运行时间增长了多少。而且您输入的代码仍然需要两倍的时间(因此,它是O(n))。