将一个数组一分为二的时间复杂度是多少?

问题描述 投票:0回答:1

把一个数组一分为二的时间复杂度是多少;是O(1),因为直接通过操作内存下来,还是O(N),因为要循环整个数组。如果最后一个是正确的,有没有直接操作内存的方法?

algorithm memory-management time split complexity-theory
1个回答
0
投票

要看你是怎么拆分的。

如果你通过复制数组的一半来做,它的O(N)

如果你使用一个像 int* x = &a[n/2]; 那么其O(1)

© www.soinside.com 2019 - 2024. All rights reserved.