当前位置:   article > 正文

数组和链表的优缺点_链表储存的优点

链表储存的优点

数组:
数组(Array)是由相同类型的元素(element)的集合所组成的数据结构,分配一块连续的内存来存储。
利用元素的索引(index)可以计算出该元素对应的存储地址。
最简单的数据结构类型是一维数组。例如,索引为 0 到 9 的 32 位整数数组,可作为在存储器地址 2000,2004,2008,…2036 中,存储 10个 变量,因此索引为 i 的元素即在存储器中的 2000+4×i 地址。数组第一个元素的存储器地址称为第一地址或基础地址。

数组的优点:数组的“连续”特征决定了它的访问速度很快,因为它是连续存储的,所以这就决定了它的存储位置就是固定的,因此它的访问速度就很快。
数组的缺点:缺点它对内存的要求比较高,必须要找到一块连续的内存才行。

数组的另一个缺点就是插入和删除的效率比较慢,假如我们在数组的非尾部插入或删除一个数据,那么就要移动之后的所有数据,这就会带来一定的性能开销。

链表:
链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。由于不必须按顺序存储,链表在插入的时候可以达到 O(1) 的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要 O(n) 的时间,而顺序表相应的时间复杂度分别是 O(logn) 和 O(1)。

链表的优点:链表是一个无需连续内存的数据存储结构,链表的元素有两个属性,一个是元素的值一个是指针,此指针标记了下一个元素的地址。

链表对内存的利用率比较高,无需连续的内存空间,即使有内存碎片,也不影响创建链表。
链表的插入和删除速度会更快,无需像数组一样移动大量元素。
链表大小不固定,可以很方便的进行动态扩展。

链表的缺点:链表的主要确定是不能进行随机查找,必须从第一个元素开始遍历,查找效率比较低。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/581630
推荐阅读
相关标签
  

闽ICP备14008679号