顺序表和单链表的时间复杂度对比:
发现单链表的时间复杂度总体来说效率并没有高于顺序表,但是为什么还需要实现单链表?
首先在实际工程中时间复杂度只是效率的一个参考指标。
对于内置类型,顺序表和单链表的效率不相上下。
对于自定义类型,顺序表的效率低于单链表。
当数据元素是自定义类型时,顺序表在插入和删除时就会耗费大量的时间,由于移动元素需要进行深拷贝,而对于单链表操作的永远都是指针,效率与数据对象无关,在这方面效率远远高于顺序表。
对于数据访问时,顺序表是随机访问,可以直接定位到需要访问的数据对象;单链表是顺序访问,必须从头访问数据对象,无法直接定位。
在开发中:
当数据元素的类型相对简单,不涉及深拷贝时,数据元素相对稳定,访问操作远多于插入和删除操作时选择顺序表。
当数据元素的类型相对复杂,复制操作相对耗时,数据元素不稳定,需要经常插入和删除,访问操作较少时选择单链表。