数组的元素带编号,编号从0而不是1开始。例如,在下面的数组中,元素20的位置为1。
而元素10的位置为0。这通常会让新手晕头转向。从0开始让基于数组的代码编写起来更容易,因此程序员始终坚持这样做。几乎所有的编程语言都从0开始对数组元素进行编号。你很快就会习惯这种做法。
元素的位置称为索引。因此,不说“元素20的位置为1”,而说“元素20位于索引1处”。本书将使用索引来表示位置。
下面列出了常见的数组和链表操作的运行时间。
数组 | 链表 | |
---|---|---|
读取 | O(1) | O(n) |
插入 | O(n) | O(1) |
问题: 在数组中插入元素时,为何运行时间为O(n)呢?假设要在数组开头插入一个元素,你将如何做?这需要多长时间?请阅读下一节,找出这些问题的答案!