python生成列表的时间复杂度

在刷题的时候,经常碰到需要生成非常大的邻接矩阵,往往我们都是用 list 存储,但是我在最近刷题的过程中就遇上了TLE的情况,原因就是生成邻接矩阵时间太花时间了。

先说结论:[ ]* n 比 [ for i in range(n) ]列表生成式的速度快,差不多快3倍多

尽量使用邻接表代替邻接矩阵。比如在leetcode 1786这道题中,使用了邻接矩阵,直接超时;把邻接矩阵去除之后,直接双百。

复制代码
import time
t1 = time.clock()
z = [[0]*20000 for i in range(20000)]
print(time.clock()-t1)
#6.8233608
t2 =time.clock()
z = [[0]*20000]*20000
print(time.clock()-t2)
#1.9150372
复制代码

 

posted @   ISGuXing  阅读(295)  评论(0编辑  收藏  举报
编辑推荐:
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
阅读排行:
· PPT革命!DeepSeek+Kimi=N小时工作5分钟完成?
· What?废柴, 还在本地部署DeepSeek吗?Are you kidding?
· DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地
· 程序员转型AI:行业分析
· 重磅发布!DeepSeek 微调秘籍揭秘,一键解锁升级版全家桶,AI 玩家必备神器!
点击右上角即可分享
微信分享提示