Python——用列表实现栈和队列

1 用列表实现栈的功能

栈是一种“先进后出”的数据结构,可以用python内置的列表实现它。栈有两个最基本的操作:

  • 入栈
stack = [3, 4, 5]
stack.append(6)
stack.append(7)
  • 出栈
stack.pop()
入栈出栈.png

2 用列表实现队列

队列是一种“先入先出”的数据结构,直接用列表实现效率不高。列表在末端进行append和pop时效率很高,但是在首段pop很慢(因为移动队首元素需要将后面的元素各移动一位)。我们可以通过collections.deque实现队列。

入队和出队.png

从上面的图可以看出,用list直接实现队列和用collections.deque实现在10万级别的数据上有接近100倍的差距。
(图中有个小错误,打印的第二行应该list time)


参考文献:
Python-tutorial

你可能感兴趣的:(Python——用列表实现栈和队列)