美文网首页
39.常见数据结构:栈、队列、数组、链表

39.常见数据结构:栈、队列、数组、链表

作者: 每天起床都想摆 | 来源:发表于2022-03-11 13:35 被阅读0次

常见数据结构

数据结构概述

  • 数据结构是计算机底层存储,组织数据的方式,是指数据相互之间是以什么方式排列在一起的
  • 通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率

  • 栈执行特点

    • 先进后出,后进先出

      类似一个器皿,顶部的拿出后才能拿下面的

      image.png
  • 栈数据结构:一端开口,称之为栈顶;一端封闭,称之为栈底

  • 数据进入栈模型的过程称之为:压栈 或 进栈

  • 数据离开栈模型的过程称之为:弹栈 或 出栈

队列

  • 队列执行特点

    • 先进先出,后进后出

      类似于排队,先进先出水

      image.png
  • 队列数据结构:两端开口,上端称为后端,下端称为前端

  • 数据从 后端 进入队列模型的过程称为:入队列

  • 数据从 前端 离开队列模型的过程称为:出队列

数组

  • 数组是内存中的一块连续区域;是一种根据索引查询快,增删慢的模型

  • 特点

    • 查询速度快:查询数据通过地址值和索引定位,查询任意数据耗时相同(元素在内存中是连续存储的)

      只是根据索引查询快

    • 删除效率低:要将原始数据删除,同时后面每个数据前移

    • 添加效率极低:添加位置后的每个数据后移,再添加元素

链表

  • 链表的特点
    • 链表中的元素是在内存中不连续存储的,每个元素节点包含数据值和下一个元素的地址

    • image.png
  • 链表查询慢,无论查询哪个数据都要从头开始找(且即便它拥有索引,仍然很慢,因为无法知道索引的位置,只知索引的编号)

  • 链表增加、删除操作相对较快(对于数组而言)

    这里指代增删的那一刻比较快,因为只需要修改目标元素的前后元素的索引即可完成增删;
    但是,在增删之前需要先找到前后元素,这个查询操作非常慢

  • 链表的种类

    • 单向链表:只支持从前往后找(单向链表拥有尾地址)
    • 双向链表:支持从前往后、从后往前查找(双向链表拥有头地址和尾地址)
  • 小结:数组根据索引查询元素的速度很快;双向链表增删链表首位的元素速度很快

    双链表可以说是队列和栈的结合体,因为它也完成了二者的结构

相关文章

  • 常见的数据结构

    常见的数据结构有: 数组 链表单链表、双向链表、循环链表、双向循环链表、静态链表 栈顺序栈、链式栈 队列普通队列、...

  • 算法攻略

    知识结构: 常见的数据结构及其实现 常见的数据结构主要有数组、链表、栈、队列、二叉堆、树、图等,其中栈和队列的题目...

  • 复习

    数据结构 数据结构 集合常见数据结构:集合,链表,队列,数组,栈,映射java中:List列表,Set集合,Map...

  • 2018-12-28

    基于常见数据结构整理 数据结构 数据存储的常用结构有:栈、队列、数组、链表和红黑树 栈 1.stack,又称堆栈,...

  • Java常用类库与技巧-集合

    一 数据结构常见问题 数组和链表的区别;链表的操作,如反转,链表环路检测,双向链表,循环链表相关操作;队列,栈的应...

  • 数据结构笔面试总结

    涉及的几个部分数据结构部分数组、栈、链表、队列、树、图 数组 数组是最简单、也是使用最广泛的数据结构。栈、队列等其...

  • 数据结构简要

    数据结构与算法 几种常见的数据结构 线性表(数组和链表)、栈、队列和树(二叉树) 一.线性表 1.数组 数组是...

  • 算法界的小学生(2)--打好基础(链表专题)

    链表脑图 我们常见的数据结构,不管是队列,栈等线性结构,还是树,图等非线性结构,从底层来看都是数组和链表。数组在内...

  • Java集合框架

    常见的数据结构 线性表数组链表 栈与队列 树 堆 散列表 顶层接口 Collection和Map Collecti...

  • 数据结构:数组

    00数据结构与算法分析:大纲01数据结构:数组02数据结构:链表03数据结构:栈03数据结构:队列 数组 数组是一...

网友评论

      本文标题:39.常见数据结构:栈、队列、数组、链表

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