设计包含min函数的栈
2014-03-18 15:06
190 查看
题目:定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。
思路:
当要求O(1)的时候,首先要考虑用"空间换时间"的优化方法
栈的特点是每次只操作顶端元素,
最小值只用一个变量来保存,当栈将最小值POP时,就无法得到剩下栈元素中的最小值,
所以考虑用一系列变量来保存最小值,即最小值栈,与栈数据同进退
考虑栈结构可能保存的是扩展数据结构,可以保存最小值的位置
参考:
http://zhedahht.blog.163.com/blog/static/25411174200712895228171/
/article/3642055.html // by zjerry 看过一遍没记住...
http://blog.csdn.net/zhu_liangwei/article/details/9954643 // 参考别人的代码理解上一个页面的
O(1)空间算法
思路:
当要求O(1)的时候,首先要考虑用"空间换时间"的优化方法
栈的特点是每次只操作顶端元素,
最小值只用一个变量来保存,当栈将最小值POP时,就无法得到剩下栈元素中的最小值,
所以考虑用一系列变量来保存最小值,即最小值栈,与栈数据同进退
考虑栈结构可能保存的是扩展数据结构,可以保存最小值的位置
参考:
http://zhedahht.blog.163.com/blog/static/25411174200712895228171/
/article/3642055.html // by zjerry 看过一遍没记住...
http://blog.csdn.net/zhu_liangwei/article/details/9954643 // 参考别人的代码理解上一个页面的
O(1)空间算法
相关文章推荐
- 设计包含min函数的栈
- 设计包含min函数的栈
- 2.设计包含min函数的栈(栈)
- 设计包含min函数的栈
- 设计包含min函数的栈的理解
- 【转帖】设计包含min函数的栈
- 【微软100面试题实现】第02题:设计包含min函数的栈
- 100题_02 设计包含min函数的栈
- Google面试题之设计一个包含min函数的栈
- 算法面试100题——2.设计包含min函数的栈
- 微软算法100题02 设计包含min函数的栈
- 转载 设计包含min函数的栈
- 面试题---设计包含min函数的栈
- 设计包含min函数的栈
- (二)设计包含min函数的栈
- 2.设计包含min函数的栈
- 设计包含min函数的栈
- 设计包含min函数的栈 java实现
- 设计包含min函数的栈
- 设计包含min函数的栈---Algorithms