zoukankan      html  css  js  c++  java
  • 复杂的权衡之时间、空间和单链表结构

    单链表结构表现出和数组不同的时间和空间权衡。

    下表为单链表结构的运行时间:

    操作 运行时间
    在第i个位置访问 O(n),平均情况
    在第i个位置替换 O(n),平均情况
    在开始处插入 O(1),最好情况和最差情况
    在开始处删除 O(1),最好情况和最差情况
    在第i个位置插入 O(n),平均情况
    在第i个位置删除 O(n),平均情况

    单链表结构相对于数组的主要优点并不是时间性能,而是内存性能。当必须调整数组的大小的时候,其时间和内存都是线性的。当调整链表结构的大小的时候(这在每次插入或删除的时候都会发生),其时间和内存都是常数的。此外,在链表结构中没有浪费内存的问题。链表结构的物理大小不会超过其逻辑大小。链表结构确实有一个额外的内存代价,因为单链表结构必须要为指针使用m个内存单元格。这个代价在双链表中更是变本加厉,因为双链表的节点有两个链接。

    结束!

  • 相关阅读:
    自闭的D7
    D2
    Codeforces Round #531 (Div. 3)
    hello 2019 D
    牛客练习赛36B
    cf954H
    gym102007 E
    Gym 101972
    Gym 101810
    试题 历届试题 青蛙跳杯子(bfs)
  • 原文地址:https://www.cnblogs.com/aaronthon/p/13627270.html
Copyright © 2011-2022 走看看