空间性能比较
(1)存储空间分配
顺序表需提前分配空间内存,易造成空间的浪费或溢出;链表则不需要提前分配内存大小,只要内存空间足够的大,可以无限制添加元素
(2)存储密度比较
存储密度越大,对存储空间的利用率越高,先介绍一下存储密度
存储密度=数据元素占用的存储量 / 节点结构占用的存储量;(存储密度越大,越经济)
我们知道,链表除了需要设置数据域存储数据元素之外,还需要外加一个指针域;对于顺序表而言,顺序表的存储密度为1,则对于链表,存储密度小于1。
那么为什么链表的存储密度小于1呢 ?
举个栗子,:如果链表的每个数据元素的数据域占用的空间较小,那么指针所占用的空间和int量相同,则链表的存储密度仅仅为 0.5!
时间性能比较
(1)元素的存取效率
顺序表:随机存取,按照访问位置元素的时间复杂度为O(1)
链 表:顺序存储,顺着链域一个一个寻找,按照访问位置元素的时间复杂度为O(n)
(2)插入和删除的效率
顺序表:平均移动顺序表内约一般元素,时间复杂度为O(n)
链 表:不需要移动元素,确定插入或删除的位置后,时间复杂度为O(1)
食 用 情 况(建议在成人监护下食用. . . )
顺序表:表长变化不大,事先确定变化范围、很少进行插入或删除操作
链 表:表长变化较大、经常需要执行插入或删除操作