python - Python 时间复杂度:For 循环
问题描述
下面的代码使用嵌套循环list a
将 的每个元素与 的所有其他元素相乘list b
。我意识到每个循环的时间复杂度是O(n)
并且这n
是一个相当小的值,但是如果n
太大而无法处理怎么办?那就是如果lists a,b
值太大了?对于应用的相同功能,我如何更改代码的时间复杂度。
a = [1,2,3]
b = [4,5,6]
new = []
if len(a) == len(b):
for x in a: # O(n)
for y in b: # O(n)
new.append((x*y))
print(new)
解决方案
我看不到改善 O(n^2) 运行时间的方法。n 计算乘法,以便您可以缓存值。这将是相同的复杂性,您的算法会更慢。
推荐阅读
- firebase - 无法从方法“_userFromFirebaseUser”返回“Null”类型的值,因为它的返回类型为“User”
- python-3.x - 如何优化这个 python 脚本 Pandas 的时间?
- r - Ggplot2:不在饼图标签中显示 0 值
- angular - devextreme angular - 设置 DxDataGrid 自定义 headerFilter 的初始过滤器值
- python - Python变量没有被增加
- reactjs - 反应 onDrop 事件与法语字符冲突
- c# - Ninject 依赖注入 - 两个具体类
- selinux - 获取 avc:AOSP 6.0.1 中的拒绝错误
- angular - 收到 http 应答之前的 Angular 路由
- java - 在 Android Studio 的 ListView 中显示数据