zoukankan      html  css  js  c++  java
  • 数据机构与算法学习(五)- 数组VS链表

    时间复杂度 数组 链表
    插入、删除 O(n) O(1)
    随机访问 O(1) O(n)

    数组在实现上使用的是连续的内存空间,可以借助CPU的缓存机制,预读数组中的数据,所以访问效率更高。而连败哦在内存中不连续,所以对CPU缓存不友好,没办法预读。

    数组的缺点是大小固定,一经声明就会占用整块连续内存空间。声明数组过大,可能会导致“内存不足”,声明过小可能不够用,链表没有大小的限制,天然地支持动态扩容。这也是它与数组最大的区别。

    如果你的代码对内存的使用非常苛刻,那数组就更适合。因为链表中的每个节点都需要消耗额外的存储空间去存储一份指向下一节点的指针。

  • 相关阅读:
    git升级
    redis集群
    redis安装
    escript
    git搭建仓库与服务器
    svnsync
    post_commit.sh
    nvm安装和使用
    quartz 定时器
    Oracle flashback恢复误删的数据或表
  • 原文地址:https://www.cnblogs.com/OneSky-Mi/p/14537479.html
Copyright © 2011-2022 走看看