一、数据结构
🌟1.1 数据结构的概述
数据结构(Data Structure) 是指在计算机中组织和存储数据的方式 ,目的是让数据的访问、插入、删除、查找等操作更高效。
💡 简单比喻:
- 数据 = 书
- 数据结构 = 书架的摆放方式
- 按字母排 → 查找快(如字典)
- 随意堆 → 插入快但找起来慢
- 先进先出的箱子 → 只能从顶部拿(如栈)
✅ 好的数据结构 = 让程序又快又省资源!

📦1.2 常见的数据结构
| 类型 | 常见结构 | 特点 |
|---|---|---|
| 线性结构 | 数组(Array)、链表(Linked List)、栈(Stack)、队列(Queue) | 数据按顺序排列 |
| 非线性结构 | 树(Tree)、图(Graph)、堆(Heap) | 数据有层次或网络关系 |
| 哈希结构 | 哈希表(Hash Table / HashMap) | 通过"键"快速定位"值" |

1.2.1 栈


1.2.2 队列

1.2.3 数组
1️⃣ 数组(Array)
✅ 是什么?
- 连续内存空间 中存储相同类型元素的结构。
- 通过索引(index) 直接访问任意元素。
🔑 核心特点:
- 优点:随机访问极快(O(1))
- 缺点 :大小固定(Java 中可变的是
ArrayList,底层仍是数组)、插入/删除慢(需移动元素)

1.2.4 链表
2️⃣ 链表(Linked List)
✅ 是什么?
- 由节点(Node) 组成,每个节点包含:
- 数据(data)
- 指向下一个节点的引用(next)
- 节点在内存中不要求连续
🔑 核心特点:
- 优点:插入/删除快(O(1),只需改指针)、动态扩容
- 缺点:不能随机访问(必须从头遍历,O(n))




🆚1.3 四大结构对比总结
| 结构 | 访问方式 | 插入/删除效率 | 是否支持随机访问 | 典型应用场景 |
|---|---|---|---|---|
| 数组 | 索引直接访问 | 慢(需移动) | ✅ O(1) | 存储固定/已知数量数据 |
| 链表 | 从头遍历 | 快(改指针) | ❌ O(n) | 频繁增删、未知长度 |
| 栈 | 只操作顶部 | ✅ O(1) | ❌ | 后退、递归、表达式计算 |
| 队列 | 队首出,队尾入 | ✅ O(1) | ❌ | 任务调度、BFS、缓冲 |

声明:
题目详细分析借鉴于通义AI
以上均来源于B站@ITheima的教学内容!!!
本人跟着视频内容学习,整理知识引用