python中栈的实现
2023-03-20 14:57:11 时间
栈是一种线性数据结构,用先进后出或者是后进先出的方式存储数据,栈中数据的插入删除操作都是在栈顶端进行,常见栈的函数操作包括
- 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
...
>
相关文章
- 远程代码与命令执行
- 执行 mysqld --install 报错:由于找不到 MSVCP120.dII, 无法继续执行代码?
- 安卓逆向 -- AndroidKiller介绍
- 算法工程师的修养 | Python常用的 5 种线程锁
- 算法工程师的修养 | Python 的 Lambda 函数
- BAT文件语法和技巧(bat文件的编写及使用)
- Python单元测试框架unittest使用全解析(文末赠书)
- 在 Python 中将数值变量转换为分类变量
- 【Python爬虫】“每天一遍,防止早恋”?B站高颜值美女视频采集
- 双十一手剁完了吗?教你用Python再剁一遍(Python模拟登录,采集淘宝商品数据)
- 【Python爬虫】采集一个优秀艺术家相互交流的网站——P站(一个正经的网站)
- Python面向对象与GUI编程打造【万能信息管理系统】,包含登录界面(修改参数就能变成你想要的系统)
- 【收藏】使用Python暴力破解附近局域网WiFi密码
- python文件打包成exe可执行文件
- 用Python实现清理电脑上的空文件夹~
- 用python实现桌面自动化
- 用python来通过PPT开卷考试
- Python - 好用第三方库 isort
- SparkSQL并行执行多个Job的探索
- Nebula Graph 源码解读系列 | Vol.04 基于 RBO 的 Optimizer 实现