python中栈的实现
Posted AI算法攻城狮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中栈的实现相关的知识,希望对你有一定的参考价值。
栈是一种线性数据结构,用先进后出或者是后进先出的方式存储数据,栈中数据的插入删除操作都是在栈顶端进行,常见栈的函数操作包括
- empty() – 返回栈是否为空 – Time Complexity : O(1)
- size() – 返回栈的长度 – Time Complexity : O(1)
- top() – 查看栈顶元素 – Time Complexity : O(1)
- push(g) – 向栈顶添加元素 – Time Complexity : O(1)
- pop() – 删除栈顶元素 – Time Complexity : O(1)
python中栈可以用以下三种方法实现:
1)list
2)collections.deque
3)queue.LifoQueue
使用列表实现栈
python的内置数据结构list可以用来实现栈,用append()向栈顶添加元素, pop() 可以以后进先出的顺序删除元素
但是列表本身有一些缺点,主要问题就是当列表不断扩大的时候会遇到速度瓶颈.列表是动态数组,因此往其中添加新元素而没有空间保存新的元素时,它会自动重新分配内存块,并将原来的内存中的值复制到新的内存块中.这就导致了一些append()操作会消耗更多的时间
>>> stack = []
>>> #append() fuction to push
... #element in list
...
>
以上是关于python中栈的实现的主要内容,如果未能解决你的问题,请参考以下文章