最小栈(最小堆栈)的实现
定义:
最小堆栈是一种特殊的堆栈数据结构,除了具备普通堆栈的基本操作(如入栈、出栈、查看栈顶元素)外,还能在
O(1) 的时间复杂度内获取当前堆栈中的最小元素。
实现方法
辅助栈法
辅助栈法的实现原理很简单,就是在普通的栈之外,添加一个辅助栈来记录当前状态的最小值。
当一个新元素 x 入栈时,首先将其压入 mainStack。然后,比较 x 和 minStack 栈顶元素(若 minStack 为空,则直接将 x 压入)。如果 x 小于或等于 minStack 的栈顶元素,就将 x 压入 minStack。这样,minStack 的栈顶元素始终是当前堆栈中的最小元素。

浙公网安备 33010602011771号