楼主: wwwyhx
跳转到指定楼层
上一主题 下一主题
收起左侧

Microsoft : 一个栈实现队列

🔗
v85216192 2012-1-14 06:09:48 | 只看该作者
全局:
请教大神们:
如果用一个栈实现==用一个stack+递归调用模拟的stack
那实际上运行起来还是两个stack,这样设计程序(用递归代替一个stack)有什么性能上的提高吗?
回复

使用道具 举报

🔗
ziegfeld 2012-1-15 11:19:56 | 只看该作者
全局:
我觉得这个有点纯粹为了题目而出题目的感觉啊。
时空复杂度都很高,实际情况中完全没必要这样啊。。只能当作作业题写写完事算了。。

题目如果说用个数组来实现队列,还挺有趣的;用栈。。就无趣了。
回复

使用道具 举报

🔗
chong2006tian 2012-1-23 17:42:30 | 只看该作者
全局:
用数组实现队列比较好呀。
回复

使用道具 举报

🔗
ziegfeld 2012-1-24 06:28:58 | 只看该作者
全局:
最近看 career cup 才看到这题。。蛋疼的紧。。

我都忘记了我之前吐槽过了。。

不过还有用两个栈实现的还算有点意思。
回复

使用道具 举报

🔗
xiaozhuzi27 2012-1-25 01:55:53 | 只看该作者
全局:
还不错哦~~学习了~~~
回复

使用道具 举报

🔗
hunter2046 2012-2-11 14:05:38 | 只看该作者
全局:
栈和队列互相实现的笑话不知道大家听过没。。
回复

使用道具 举报

🔗
ilovexiao77 2012-2-27 00:43:46 | 只看该作者
全局:
两个栈的真心很简单
回复

使用道具 举报

🔗
ilnlh 2012-2-27 10:06:45 | 只看该作者
全局:
本帖最后由 ilnlh 于 2012-2-27 10:09 编辑

挖啊挖~  呵呵
其实既然递归是另一个栈,那不一定要入栈的时候递归,也可以出栈的时候做

用Python写的出栈,入栈就直接append
  1. l = []
  2. def QueueOut():
  3.   if len(l) > 0:
  4.     tmp = l.pop()
  5.     if len(l) > 0:
  6.       item = QueueOut()
  7.       l.append(tmp)
  8.     else:
  9.       item = tmp
  10.     return item
复制代码
回复

使用道具 举报

🔗
ilnlh 2012-2-27 10:23:02 | 只看该作者
全局:
Another version:
  1. l = []
  2. def QueueOut():
  3.   if len(l) > 1:
  4.     tmp = l.pop()
  5.     item = QueueOut()
  6.     l.append(tmp)
  7.   else:
  8.     item = l.pop()
  9.   return item
复制代码
It seems prettier, but does not actually work well.
回复

使用道具 举报

🔗
qqibrow 2012-3-20 23:35:04 | 只看该作者
全局:
回复 12# ziegfeld


    刚看到这个,数组做的话,你的意思是循环队列吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表