美文网首页
链式存储插入和删除的时间复杂度

链式存储插入和删除的时间复杂度

作者: GavinWgq | 来源:发表于2016-12-07 20:04 被阅读0次

计算机的线性表中有两种基本的存储方式:顺序存储链式存储。顺序存储指的是用一段地址连续的存储单元依次存储数据;而链式存储中数据元素可以散乱的存储到存储单元中,每一个数据元素中包含数据项和下一个元素的存储地址。

通过二者的定义不难看出,顺序存储在查找时的时间复杂度为O(1),因为它的地址是连续的,只要知道首元素的地址,根据下标可以很快找到指定位置的元素,而对与插入和删除操作由于可能要在插入前或删除后对元素进行移动,所以顺序存储的时间复杂度为O(n)。链式存储的特性则正好相反,在查找时需要从头元素逐个寻找,因此查找的时间复杂度为O(n),而对于插入和删除操作,由于只需要变更数据元素中下一元素的存储地址即可,因此时间复杂度为O(1)

表面上看上面的说法没有什么问题,但其实在日常的使用中,比如要在数据集合的第i个位置插入或删除一个元素,要完成这样一个动作,使用顺序存储需要查找到元素然后执行插入或删除,时间复杂度为O(1)+O(n)=O(n);而链式存储同样需要先查找到元素然后在插入或删除,时间复杂度为O(n)+O(1)=O(n)

所以说链式存储插入和删除的时间复杂度为O(1)的前提应该是已知元素当前的位置,否则实现在第i个位置插入或删除一个元素,顺序存储和链式存储的时间复杂度是一样的,都是O(n).

相关文章

  • 链式存储插入和删除的时间复杂度

    计算机的线性表中有两种基本的存储方式:顺序存储和链式存储。顺序存储指的是用一段地址连续的存储单元依次存储数据;而链...

  • 顺序存储结构和链式存储结构

    顺序存储结构 查找效果高于链式存储结构,但插入、删除效率不如链式存储结构 链式存储结构 查找效率不如顺序存储结构,...

  • 线性表元素插入和删除

    单链表(链式存储结构)插入 单链表(链式存储结构)删除 有头结点的单链表在开始结点前插入元素等同在头结点后插入元素...

  • 计算机二级MS Office 选择题真题题库

    2.算法的时间复杂度算法时→特定的输入法有关。 3.链式存储结构的优点是→插入与删除运算效率高。 4.前序遍历→中...

  • ArrayList插入影响

    ArrayList 采用数组存储,因此插入和删除元素的时间复杂度都受元素位置的影响。比如:执行 add(E e) ...

  • 王道数据结构 第二章 线性表(2)

    线性表的链式表示 顺序表达插入删除操作需要移动大量元素,影响了运行效率,故而引出了线性表的链式存储。在使用链式存储...

  • 2020-07-12链式存储结构与顺序存储结构的区别

    链式存储结构与顺序存储结构的区别 链式存储适用于在较频繁地插入、删除、更新元素, 顺序存储结构适用于频繁查询时使用...

  • 数据结构(2)-栈和队列和Hash表

    栈和队列 栈 限定仅在表尾进行的插入和删除操作栈有顺序存储结构和链式存储结构 队列 队列是只允许在一段进行插入操作...

  • data struct

    数组:字符串和数组在一个连续的内存空间存储数据和字符,查找和插入删除 时间复杂度O(1)空间复杂度O(n)————...

  • 四、线性表(二)

    接上篇线性表 (一) 四、线性表的物理结构--链式存储结构 4.1 定义 顺序存储结构的最大缺点就是插入和删除的时...

网友评论

      本文标题:链式存储插入和删除的时间复杂度

      本文链接:https://www.haomeiwen.com/subject/fikjmttx.html