如何用Stacks实现Queue
1. 什么是Stacks和Queue
Stacks和Queue都是数据结构的一种,它们都是非常有用的,用于存储和管理数据。Stacks是一种先进先出(FIFO)的数据结构,它的特点是元素只能从栈顶进出,而Queue是一种先进先出(FIFO)的数据结构,它的特点是元素只能从队列的头部进出。
2. 用Stacks实现Queue的原理
用Stacks实现Queue的原理是,当要把元素放入队列时,将元素放入第一个Stack;当要从队列中取出元素时,将第一个Stack中的元素依次压入第二个Stack,然后从第二个Stack顶部取出元素。
3. 用Stacks实现Queue的实现代码
class Queue:
def __init__(self):
self.stack1 = []
self.stack2 = []
def enQueue(self, item):
self.stack1.append(item)
def deQueue(self):
if not self.stack2:
while self.stack1:
self.stack2.append(self.stack1.pop())
return self.stack2.pop()
if __name__ == '__main__':
q = Queue()
q.enQueue(1)
q.enQueue(2)
q.enQueue(3)
q.enQueue(4)
print(q.deQueue())
print(q.deQueue())
print(q.deQueue())
print(q.deQueue())
4. 用Stacks实现Queue的优缺点
用Stacks实现Queue的优点是实现简单,只需要两个Stacks即可,而且时间复杂度也比较低,只需要O(n)的时间。但是用Stacks实现Queue的缺点是空间复杂度较高,因为需要两个Stacks来存储数据,所以空间复杂度为O(n)。
上一篇
groupby中怎么重置索引 猜您想看
-
Elasticsearch不支持事务有什么好的弥补方案
1、Elast...
2023年05月26日 -
如何用PHP和Golang来刷leetCode
一、使用PHP...
2023年07月22日 -
如何通过GDC Legacy Archive下载TCGA原始数据
GDC Leg...
2023年07月21日 -
Hybris Commerce下单时遇到产品库存不足的解决办法是什么
问题描述在Hy...
2023年07月23日 -
如何在微信中清理聊天记录?
,可以添加图片...
2023年05月15日 -
如何进行TP5重定向
1.什么是TP...
2023年05月22日