链式存储与顺序存储的区别

您所在的位置:网站首页 逻辑顺序怎么解释的 链式存储与顺序存储的区别

链式存储与顺序存储的区别

2024-07-17 16:12| 来源: 网络整理| 查看: 265

链式存储于顺序存储的区别

数据的存储方式一般有两种(这里我们说的存储是指存在内存中):链式存储和顺序存储。接下来解析两者的区别

顺序存储

顺序存储是指在内存中开辟连续的存储空间来存放数据,比较有代表性的就是数组以及ArrayList集合这种结构的存储方式都是使用的顺序存储来存储元素对象的;而ArrayList的底层也是通过数组来存储数据元素的,所以我们可以通过数组来观察顺序存储的优缺点。

优点:查询、遍历效率高

缺点:增删改效率低

链式存储

链式存储的存储空间不是连续的,它是通过指针来指向下一个元素或者上一个元素的地址来定位到该元素的,链式存储的由数据域(data域)与指针域(也叫做地址域,单向链表只有尾指针,双向链表有头指针和尾指针)两部分构成,通过指针指向下一元素,将所有的元素穿插起来,从而形成了一个链表。

优点:增删改效率高

缺点:查询、遍历效率低

顺序存储和链式存储为什么会形成这样的区别 顺序存储方面:

我们都知道数组中的元素都有一个下标,每个元素可以通过下标来寻找,因此我们就可以通过这种模式快速的对数组进行遍历与查询。但是我们在进行增删改操作时,其余元素的下标都会因为这些操作而发生改变,比如数组A中有10个元素,我删除了下标为 5 的这个元素,那么下标为 5 这个元素之后的所有元素都会 -1(向前移动),那么我就要执行5次同样的移动操作,如果数据量更大,则耗时更长,这就很不划算了。

链式存储方面:

链式存储中没有下标,只有指针,通过指针指向的地址来寻找上一个元素或者下一个元素,而且每次查询都必须从头节点开始遍历,依次寻找,导致查询速度效率低下;但是由于链式存储是通过指针来形成链表的,所以在进行增删改时,只需要修改元素的指针,而不会像数组那样对一个元素进行操作,会影响其他很多元素,因此,效率得到了很大的提升。如:链表B中保存了元素B,B元素的下一个元素是C元素,C元素的下一个元素是D元素,B元素通过尾指针指向了C元素的地址,如果我们需要删除C元素,只需要将B元素的尾指针指向D元素即可,而其他元素并不会受到任何影响。



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3