顺序表和单链表的插入删除操作时间复杂度的区别

顺序表和单链表的插入删除操作时间复杂度的区别

最近在学习数据结构,看到如果需要用到大量的插入和删除操作,单链表的效率会高于顺序表。看到这里时内有有个疑惑,这两种数据结构的插入和删除操作的时间复杂度不都是O(n)吗?为什么会有这种说法呢?

因此自己思考了下,结合计算机原理得出了一点自己的思考:

单链表和顺序表的插入删除操作的耗时因素主要差别于,数据元素的大小是不一定的,如果数据元素本身需要一块大内存,单链表里面费时的操作也就是指针后移,对指针类型这样一个小内存数据类型进行读取、CPU运算、和存储,而顺序表中费时的操作是对这种大内存数据元素的读取、CPU运算和存储,这明显比前者耗时更多。所以这两种存储结构线性表的插入操作虽然时间复杂度都是O(n),但这个n的单位时间是不同的,前者比较稳定且小,后者和数据元素大小有关。

经验分享 程序员 微信小程序 职场和发展