Time complexity 如果我能将代码循环次数减少一半,那么时间复杂度会有什么变化吗

Time complexity 如果我能将代码循环次数减少一半,那么时间复杂度会有什么变化吗,time-complexity,Time Complexity,我想知道如果我进行就地交换而不是循环遍历数组中的每个字符,是否可以降低字符串反转函数的时间复杂度(大O表示法) 我最初认为是的,因为进行就地交换时,我只需要循环给定字符串中的一半字符。虽然再考虑一下,它的时间复杂度为O(.5n),与渐近复杂度一样等于O(n),但我们忽略了乘法器 publicstaticstringreverse(stringstr){ char[]strArray=str.toCharArray(); 对于(int i=0;i

我想知道如果我进行就地交换而不是循环遍历数组中的每个字符,是否可以降低字符串反转函数的时间复杂度(大O表示法)

我最初认为是的,因为进行就地交换时,我只需要循环给定字符串中的一半字符。虽然再考虑一下,它的时间复杂度为O(.5n),与渐近复杂度一样等于O(n),但我们忽略了乘法器

publicstaticstringreverse(stringstr){
char[]strArray=str.toCharArray();
对于(int i=0;i

我可能已经回答了我自己的问题,因为我相信这将是相同的时间复杂性,就像我循环遍历字符串中的每个字符,即O(n),但可能我遗漏了一些东西,我只是想澄清一下。

你确实回答了你自己的问题。将所有输入的时间减半不会改变理论时间复杂性。理论上的时间复杂性只是衡量随着输入越来越大,运行时间增长的程度。而且,如果输入的长度是原来的两倍(因此,它是
O(n)