一、数组:排排坐好的一排格子
数组(Array)最像的是一排编号好的储物柜:第 0 号柜子、第 1 号柜子……你可以根据编号快速找到对应的格子。
二、链表:用线连起来的一串纸条
链表(Linked List)则像是一串通过回形针连在一起的纸条,每张纸上不仅写了内容,还写了「下一张纸在哪」。
可以简单记住:数组擅长随机访问,链表擅长频繁插入删除。
三、栈与队列:一个先进后出,一个先进先出
这两个数据结构特别适合用生活中的排队类比:
- 栈(Stack):像叠盘子,后放上去的先拿走(LIFO);
- 队列(Queue):像排队买票,先来的人先服务(FIFO)。
四、哈希表:帮你「一秒翻到某一页」的索引
哈希表(Hash Table)有点像书的「索引页」:你根据关键词,就能很快翻到对应的页码。 它的核心目标只有一个:快速查找。
💡
为什么要先学数据结构再学算法?
算法更像是「操作规则」,而数据结构是「存东西的容器」。 不清楚容器的特性,很难真正理解算法的优劣。