时间复杂度的对比:
操作 | 链表 | 顺序表 | |||
访问元素 | O(n) | O(1) | |||
从头部删除元素 | O(1) | O(n) | |||
从尾部删除元素 | O(n) | O(1) | |||
在中间插入元素 | O(n) | O(n) |
总结:
链表失去了顺序表随机读取的优点,同时链表由于增加了节点的指针域,空间开销比较大,但对存储空间使用要相对灵活
链表和顺序表在插入和删除是进行的是完全不同的操作
链表:
1.主要耗时的操作是遍历查找
2.删除和插入操作本身的复杂度是O(1)
顺序表:
1.主要耗时的操作是拷贝覆盖
2.抛除元素在尾部的情况
顺序表进行插入和删除时,需要对操作点之后的所有元素进行前后移动操作
只能通过拷贝和覆盖的方法进行