featured.png

Summary 堆栈和队列是一种特殊的线性结构,同时也是一种受限的数据结构,堆栈的处理顺序是“最近发生的,最先处理”,也就是我们常说的先进后出 LIFO(Last In First Out)这种顺序处理通常适合回退、DFS、函数调用栈;队列的处理顺序是“先来的先服务”,也就是先进先出 FIFO(First In...

featured.png

Summary 如果说数组的灵魂是连续存储,那链表的灵魂就是它的反面——用一根"指针"把散落在内存各处的节点串起来。这一个设计上的取舍,换来了数组梦寐以求的能力:在任意位置插入、删除只要改几个指针,O(1) 就能完成,不用像数组那样搬动后面一大片元素。代价也同样直接:失去了 O(1) 随机访问,想找第 i 个节点只能...

featured.png

Summary 数组是最基础、也最被低估的数据结构。它的两个标签——连续存储和 O(1) 随机访问——不仅决定了它自己的性能,还撑起了几乎所有更复杂的结构(栈、队列、堆、哈希表的桶、邻接矩阵),以及一整套只有数组才玩得转的算法套路(双指针、前缀和、差分、滑动窗口)。真正吃透数组,是吃透后面一切的前提。 数组在内存里到...