美文网首页
数组和链表

数组和链表

作者: 春苟哈皮 | 来源:发表于2019-03-21 17:00 被阅读0次

数组的优劣

摘自维基百科:

数组设计之初是在形式上依赖内存分配而成的,所以必须在使用前预先请求空间。这使得数组有>以下特性:

  • 请求空间以后大小固定,不能再改变(数据溢出问题);
  • 在内存中有空间连续性的表现,中间不会存在其他程序需要调用的数据,为此数组的专用内存空>间;

因为数组连续,可以根据初始地址+偏移量(下标)直接得到指定位置的值
但是在存储的时候,如果要存储在指定位置,代价就是指定位置及之后的数据全都向后迁移
时间复杂度:存O(n) 取O(1)

链表的优劣

链表通常由一连串节点组成,每个节点包含任意的实例数据(data fields)和一或两个用来指向上一个/或下一个节点的位置的链接("links")

链表是一种线性表,与数组不同的是,他的前后关系是由自己维护一个指针。
因此,线性表具有存方便(直接修改前后节点的指针),取不方便(只能从头扫到尾)的特性
时间复杂度:存O(1) 取O(n)

相关文章

  • iOS知识复习笔记(19)---数据结构和算法1

    数组和链表的区别 数组静态分配内存,链表动态分配内存 数组内存中连续,链表不连续 数组元素在栈区,链表在堆区 数组...

  • 数据结构和算法

    线性结构 数组、 单链表和双链表 数组和链表区别: 数组:数组元素在内存上连续存放,可以通过下标查找元素;插入、删...

  • Redis-第十章节-链表

    目录 数组和链表 链表 对比 总结 1、数组和链表 数组: 数组会在内存中开辟一块连续的空间存储数据,这种存储...

  • 数据结构——链表

    目录 1、属性 2、链表和数组的区别 2.1、数组概述 2.2、数组和链表优缺点 2.3、链表和数组的比较 3、单...

  • 链表

    链表和数组一样也支持查找,插入,删除操作。最常见的三种链表是:单链表,双链表和循环链表。 链表和数组的区别:数组需...

  • C语言指针部分说明

    二级指针 函数指针 数组和链表 访问数组 访问链表 Makefile

  • 算法小专栏:选择排序

    本篇将重点介绍选择排序,在讲解选择排序之前,我们先复习一下数组和链表等知识。 一、数组 or 链表? 数组和链表作...

  • HashMap 相关面试题及其解答

    Q:HashMap 的数据结构?A:哈希表结构(链表散列:数组+链表)实现,结合数组和链表的优点。当链表长度超过 ...

  • 这21个刁钻的HashMap面试题,我把阿里面试官吊打了

    1:HashMap 的数据结构? A:哈希表结构(链表散列:数组+链表)实现,结合数组和链表的优点。当链表长度超过...

  • 面试:HashMap 夺命二十一问!

    1:HashMap 的数据结构? A:哈希表结构(链表散列:数组+链表)实现,结合数组和链表的优点。当链表长度超过...

网友评论

      本文标题:数组和链表

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