python栈和队列
时间: 2023-08-25 19:13:08 浏览: 120
栈和队列
Python中的栈可以使用列表或者使用collections模块中的deque来实现。栈是一种后进先出(LIFO)的数据结构,可以使用append()和pop()函数来实现。
使用列表实现栈:
```python
stack = []
stack.append(1) # 入栈操作
stack.append(2)
stack.append(3)
print(stack.pop()) # 出栈操作,输出3
print(stack.pop()) # 出栈操作,输出2
```
使用deque实现栈:
```python
from collections import deque
stack = deque()
stack.append(1) # 入栈操作
stack.append(2)
stack.append(3)
print(stack.pop()) # 出栈操作,输出3
print(stack.pop()) # 出栈操作,输出2
```
而对于队列,可以使用collections模块中的deque来实现。队列是一种先进先出(FIFO)的数据结构。
使用deque实现队列:
```python
from collections import deque
queue = deque()
queue.append(1) # 入队操作
queue.append(2)
queue.append(3)
print(queue.popleft()) # 出队操作,输出1
print(queue.popleft()) # 出队操作,输出2
```
需要注意的是,如果需要频繁进行插入和删除操作,使用deque比使用列表更高效。这是因为在列表的开头进行插入和删除操作的时间复杂度为O(n),而在deque的开头进行插入和删除操作的时间复杂度为O(1)。
阅读全文