数据结构1
-
数据结构是计算机底层存储、组织数据的方式
-
是指数据相互之间是以什么方式排列在一起的
-
数据结构是为了更加方便地管理和使用数据,需要结合具体的业务场景来进行选择
-
一般情况下,精心设计的数据结构可以带来更高的运行或者存储效率
栈
栈的特点:后进先出,先进后出
数据进入栈模型的过程称为:压/进栈
数据离开栈模型的过程称为:弹/出栈
队列
队列的特点:先进先出,后进后出
数据从后端进入队列模型的过程称为:入队列
数据从前端离开队列模型的过程称为:出队列
数组
数组是一种查询快,增删慢的模型
- 查询速度快:查询数据通过地址值和索引定位,查询任意数据耗时相同。(元素在内存中是连续存储的)
- 删除效率低:要将原始数据删除,同时后面每个数据后移
- 添加效率极低:添加位置后的每个数据后移,再添加元素
链表
-
链表里面的每一个元素叫做结点
-
每一个结点都是一个独立的对象
-
所以每一个结点都有一个地址值,表示结点在内存中的位置
-
在结点里面存储着具体的数据和下一个结点的地址
-
链表中的结点是独立的对象,在内存中是不连续的,每个结点包含数据值和下一个结点的地址
链表查询慢,无论查询哪个地址都要从头开始找
链表增删相对快
单向列表
双向链表
总结
| 数据结构 | 特点 |
|---|---|
| 栈 | 后进先出,先进后出 |
| 队列 | 先进先出,后进后出 |
| 数组 | 内存连续区域,查询快,增删慢 |
| 链表 | 元素是游离的,查询慢,首尾操作极快 |