最小栈(最小堆栈)的实现

定义:

最小堆栈是一种特殊的堆栈数据结构,除了具备普通堆栈的基本操作(如入栈、出栈、查看栈顶元素)外,还能在
O(1) 的时间复杂度内获取当前堆栈中的最小元素。

实现方法

辅助栈法

辅助栈法的实现原理很简单,就是在普通的栈之外,添加一个辅助栈来记录当前状态的最小值。
当一个新元素 x 入栈时,首先将其压入 mainStack。然后,比较 x 和 minStack 栈顶元素(若 minStack 为空,则直接将 x 压入)。如果 x 小于或等于 minStack 的栈顶元素,就将 x 压入 minStack。这样,minStack 的栈顶元素始终是当前堆栈中的最小元素。

改进的单栈法

posted @ 2025-04-04 16:18  浪矢-CL  阅读(41)  评论(0)    收藏  举报