NO.2 设计包含min 函数的栈
摘要:
题目: 定义栈的数据结构,要求添加一个min 函数,能够得到栈的最小元素。 要求函数min、push 以及pop 的时间复杂度都是O(1)。思路: 此题初看也是毫无思路的,栈这个结构我们很熟悉,min的时间复杂度为O(1)最先联想的是最小优先级队列,肯定是不可以的。思考发现,栈的特性可以找到的两个O(1)操作只有push和pop,MIN值的结构也是栈的FILO。FIFO与FILO真是世界上所有次序关系的高度概括。因此考虑辅助堆栈。代码://首先建立几个链栈,注意指针的指向与栈的生长方向class Stack{public: Stack(): base(NULL), top(NULL... 阅读全文
posted @ 2013-02-16 15:33 zjgtan 阅读(255) 评论(0) 推荐(0) 编辑