为什么数组插入的时间复杂度是O(n)而不是O(n + 1)?
问题内容:
我刚刚开始学习数据结构,并且在进行数组插入时想知道为什么数组插入的时间复杂度为O(n)而不是O(n + 1)?
在最佳情况下,当插入在最后时,时间复杂度为O(1)。我想我们正在考虑1插入元素,因为这里没有元素被移动。在最坏的情况下,假设我们必须移动n个元素然后插入新元素,那么时间时间复杂度是否应该为O(n + 1)?n用于移动元素,1用于插入。
非常感谢您的帮助。
问题答案:
O(n)的任何函数也是O(n + 1),反之亦然。低阶术语本质上会被忽略,因此+1不会产生任何有意义的作用。