mac*_*etw 4 python time-complexity python-3.x python-collections
在 python 中,当我将集合转换为列表时,此类任务的算法复杂度是多少?它只是对集合进行类型转换,还是需要将项目复制到不同的数据结构中?发生了什么?
我很想知道复杂性是恒定的,就像 Python 中的许多东西一样。
您可以通过一个简单的基准轻松地看到这一点:
import matplotlib.pyplot as plt
x = list(range(10, 20000, 20))
y = []
for n in x:
s = set(range(n))
res = %timeit -r2 -n2 -q -o list(s)
y.append(res.best)
plt.plot(x, y)
Run Code Online (Sandbox Code Playgroud)
这清楚地显示了线性关系——以一些噪声为模。
(已编辑,因为第一个版本正在对不同的东西进行基准测试)。
| 归档时间: |
|
| 查看次数: |
2903 次 |
| 最近记录: |