顺序表和链表的比较

简介: 这段时间开始学习软考里面的内容,对顺序表和链表,比较着学习理解的更多了,跟大家分享一下。

 这段时间开始学习软考里面的内容,对顺序表和链表,比较着学习理解的更多了,跟大家分享一下。20170115193827246.png

一、空间性能


1、存储密度:


   顺序表存储一个数据用一个空间;而链式存储,存储数据的同时还要存储指针,此时用链式表存储数据要用两个空间。所以,存储密度(数据的密度)上,顺序存储更优;


2、容量分配:


   我们使用的数组采用顺序存储的方式,在使用之前,会先定义数组的容量,比如:intArray= new int[10];而链式存储,可以动态添加,需要时再添加,用指针指向新添加的数据。


二、在时间性能上

1、插入和删除


  链式存储中删除和插入节点影响的量只有一个节点,删除节点,前驱节点用指针直接指向后继节点;插入节点,把插入节点的后继节点指向插入节点的位置,前驱节点再用指针直接指向插入节点,只需要1的时间复杂度。


  顺序存储删除某个节点后,还要把后面的节点前移(除了删除最后一个)。插入时要把节点后移(除了插到最后)。链式存储的时间复杂度优于顺序存储;


2、查找


  链式和顺序存储相同,都是使用顺序查找,从第一个元素开始,依次向后查找,消耗的时间相同。但如果顺序表的数据按从小到大的顺序排列,使用二分查找法,效率会提高;


3、读运算


  顺序表:随机存取;


  链表:从第一个元素开始,next——>next…查到最后,最好的情况是,需要的元素在第一个位置,时间复杂度是1。最坏的情况是,需要的元素在最后一个位置,时间复杂度是n。


   再次学习软考的内容,理解的更多了些,如果有歧义的地方,希望大家指出,帮小虾米度过难关。


相关文章
|
5月前
|
存储
数据结构链表详解(不仅顺序表可以,我链表也可以)
数据结构链表详解(不仅顺序表可以,我链表也可以)
31 0
|
4月前
|
存储 缓存 算法
数据结构和算法学习记录——总结顺序表和链表(双向带头循环链表)的优缺点、CPU高速缓存命中率
数据结构和算法学习记录——总结顺序表和链表(双向带头循环链表)的优缺点、CPU高速缓存命中率
41 0
|
5月前
|
存储 缓存
[数据结构]——顺序表和链表
[数据结构]——顺序表和链表(下):https://developer.aliyun.com/article/1515507
|
2月前
|
存储 算法
【初阶数据结构篇】顺序表和链表算法题
此题可以先找到中间节点,然后把后半部分逆置,最近前后两部分一一比对,如果节点的值全部相同,则即为回文。
|
2月前
|
存储 缓存
【数据结构】——顺序表与链表
【数据结构】——顺序表与链表
|
4月前
|
存储 索引
顺序表和链表
通过以上示例,我们可以看到顺序表和链表在实际应用中如何操作。顺序表适合于需要频繁读取数据的场景,而链表则更适用于频繁修改数据的情况。在选择使用哪种数据结构时,应考虑到实际应用的需求和上下文环境。
24 2
|
4月前
|
存储
2.顺序表_链表(附练习)
2.顺序表_链表(附练习)
|
4月前
|
存储 算法
数据结构和算法学习记录——线性表之单链表(上)-初始单链表及其尾插函数(顺序表缺陷、单链表优点、链表打印)
数据结构和算法学习记录——线性表之单链表(上)-初始单链表及其尾插函数(顺序表缺陷、单链表优点、链表打印)
31 0
|
5月前
|
存储 缓存 程序员
初阶数据结构之---顺序表和链表(C语言)
初阶数据结构之---顺序表和链表(C语言)
|
5月前
|
存储 Java
数据结构奇妙旅程之顺序表和链表
数据结构奇妙旅程之顺序表和链表