Python——用列表实现栈和队列
2019-03-13 本文已影响0人
shijiatongxue
1 用列表实现栈的功能
栈是一种“先进后出”的数据结构,可以用python内置的列表实现它。栈有两个最基本的操作:
- 入栈
stack = [3, 4, 5]
stack.append(6)
stack.append(7)
- 出栈
stack.pop()
入栈出栈.png
2 用列表实现队列
队列是一种“先入先出”的数据结构,直接用列表实现效率不高。列表在末端进行append和pop时效率很高,但是在首段pop很慢(因为移动队首元素需要将后面的元素各移动一位)。我们可以通过collections.deque实现队列。
从上面的图可以看出,用list直接实现队列和用collections.deque实现在10万级别的数据上有接近100倍的差距。
(图中有个小错误,打印的第二行应该list time)
参考文献:
Python-tutorial