26. 栈、队列与堆
系统掌握栈、队列与堆三大线性结构:栈的应用(括号匹配/表达式求值/单调栈)、队列变体(双端队列/优先队列/循环队列)、堆的原理与实现(上浮/下沉/建堆)、堆的应用(Top-K/合并有序/定时器/滑动窗口)、以及单调栈/单调队列的高频算法场景。
tag
系统掌握栈、队列与堆三大线性结构:栈的应用(括号匹配/表达式求值/单调栈)、队列变体(双端队列/优先队列/循环队列)、堆的原理与实现(上浮/下沉/建堆)、堆的应用(Top-K/合并有序/定时器/滑动窗口)、以及单调栈/单调队列的高频算法场景。
用 2 万层递归实测 goroutine 栈:相邻帧地址间距恒为 160 字节(连续栈的证据),全程出现 8 次地址整体搬家(栈复制),StackInuse 从 256 KiB 涨到 4352 KiB;并把「栈检查指令」「翻倍增长」「指针重定位」钉到 go1.27.0 的栈增长序言、newstack、copystack 源码上。
深入理解数组与链表的内存布局、时间复杂度差异,掌握栈、队列、双端队列等线性结构的实现与应用场景。