gpt4 book ai didi

python - 将元素添加到列表与在 python 中设置的时间复杂度

转载 作者:行者123 更新时间:2023-12-01 23:12:04 24 4
gpt4 key购买 nike

为什么在 python 中向集合添加元素比向列表添加元素需要更长的时间?我创建了一个循环并迭代了超过 1000000 个元素,将其添加到列表和集合中。 List 始终需要大约 10 秒,而 set 需要大约 20 秒。

最佳答案

两个操作都是 O(1) amortized时间复杂度。

将元素附加到列表具有较低的系数,因为它不需要先对元素进行散列,也不需要检查/处理散列冲突。

添加x的情况下成set ,Python需要计算hash(x)首先,因为保持所有元素的散列允许集合进行快速 O(1) 成员资格检查(与列表的 O(n) 成员资格检查相比)。

关于python - 将元素添加到列表与在 python 中设置的时间复杂度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58792963/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com