摘要:
设计包含min函数的栈 题目:定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。 分析:无论使用链表还是数组实现的栈,push和pop操作的时间复杂度都是O(1)。所以,难点在于实现min使其时间复杂度也是O(1)。高级数据结 构的斐波那契堆就是通过一个指向最小元素的指针来实现min函数的,并保证了其时间复杂度为O(1)。因此,该堆栈需要新增一个元素minPoint指 针。 假设目前minPoint指针指向最小元素,push(data),若data比minPoint指向的元素还小,那么minPoint指向data。再 p 阅读全文
posted @ 2010-12-21 10:24
Likwo
阅读(2080)
评论(0)
推荐(0)

浙公网安备 33010602011771号