老师好,在java面试题中有这么一道题:数组和链表的区别! 我看标准答案是这样说的:数组的查改操作快于链表,链表的增删操作快于数组。
数组在第index个位置添加一个元素,数组的第index+1到最未的元素都要往后挪一位;删除第index个元素,那么数组的第index+1到最尾的元素都向前挪一个位置,时间复杂度是O(n)。
链表由于没有索引,增删第index个节点都会从链表头遍历到index-1的位置,时间复杂度也是O(n)。
那为什么说链表的增删快呢?