因此,我的 comp sci 课程中的一个主题是关于时间复杂性,以及使用数组和链表作为比较某些操作的好方法以及哪种容器更擅长这样做,因此您可以选择适当的数据结构。我了解大多数操作背后的原因,但我不确定其中一个操作是在数组中插入和追加。
这两种情况的最坏情况是 O(n)。我相信我理解为什么插入是 O(n),因为最坏的情况是,您在前面插入会导致您将所有元素移到正确的位置,这意味着它是线性的并且取决于数组中元素的数量。对于追加,我很好奇为什么它不是 O(1),因为考虑到空间,无论大小如何,在最后添加一个元素都需要一次操作。
这就是问题所在,如果没有足够的空间,您必须将阵列复制到更大的阵列以应对最坏的情况?