数据结构 栈 队列 数组 链表

102 阅读2分钟

数据结构1

  • 数据结构是计算机底层存储、组织数据的方式

  • 是指数据相互之间是以什么方式排列在一起的

  • 数据结构是为了更加方便地管理和使用数据,需要结合具体的业务场景来进行选择

  • 一般情况下,精心设计的数据结构可以带来更高的运行或者存储效率

栈的特点:后进先出,先进后出

数据进入栈模型的过程称为:压/进栈

数据离开栈模型的过程称为:弹/出栈

Snipaste_2022-11-03_17-38-36.png

队列

队列的特点:先进先出,后进后出

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

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

Snipaste_2022-11-03_17-39-11.png

数组

数组是一种查询快,增删慢的模型

  • 查询速度快:查询数据通过地址值和索引定位,查询任意数据耗时相同。(元素在内存中是连续存储的)
  • 删除效率低:要将原始数据删除,同时后面每个数据后移
  • 添加效率极低:添加位置后的每个数据后移,再添加元素

Snipaste_2022-11-03_18-02-00.png

链表

  • 链表里面的每一个元素叫做结点

  • 每一个结点都是一个独立的对象

  • 所以每一个结点都有一个地址值,表示结点在内存中的位置

  • 在结点里面存储着具体的数据下一个结点的地址

  • 链表中的结点是独立的对象,在内存中是不连续的,每个结点包含数据值和下一个结点的地址

链表查询慢,无论查询哪个地址都要从头开始找

链表增删相对快

Snipaste_2022-11-03_17-48-53.png

单向列表

Snipaste_2022-11-03_17-54-12.png

双向链表

Snipaste_2022-11-03_17-58-12.png

总结

数据结构特点
后进先出,先进后出
队列先进先出,后进后出
数组内存连续区域,查询快,增删慢
链表元素是游离的,查询慢,首尾操作极快