python数据结构栈与队列
时间: 2023-10-13 14:22:46 浏览: 122
栈(stack)和队列(queue)都是常见的数据结构,它们可以用来解决很多实际问题。
栈是一种后进先出(Last-In-First-Out,LIFO)的数据结构,类似于一个垂直的栈,只能在顶部进行插入和删除元素的操作。栈的主要应用有:括号匹配、表达式求值、深度优先搜索等。
在Python中,可以使用列表(list)来模拟栈的操作,例如:
```python
stack = []
stack.append(1) # 入栈
stack.append(2)
stack.append(3)
print(stack) # [1, 2, 3]
stack.pop() # 出栈
print(stack) # [1, 2]
```
队列是一种先进先出(First-In-First-Out,FIFO)的数据结构,类似于排队等待服务的场景。队列的主要应用有:广度优先搜索、计算机任务调度等。
在Python中,可以使用collections模块中的deque来模拟队列的操作,例如:
```python
from collections import deque
queue = deque()
queue.append(1) # 入队
queue.append(2)
queue.append(3)
print(queue) # deque([1, 2, 3])
queue.popleft() # 出队
print(queue) # deque([2, 3])
```
需要注意的是,如果需要同时在列表的头尾进行添加和删除操作,可以考虑使用双向队列(deque)来代替列表。
阅读全文