在Python中,当我将我的集合转换为列表时,这个任务的算法复杂度是什么?它只是类型转换集合,还是需要将项目复制到不同的数据结构中?发生了什么?
我希望了解复杂度是否像Python中许多其他事情一样是常量。
我希望了解复杂度是否像Python中许多其他事情一样是常量。
但是,这里有一个重要说明,即Python的集合具有基于集合对象曾经拥有的最大大小的底层数组大小,而不一定基于其当前大小;这是因为当从集合中删除元素时,底层数组不会重新分配为较小的大小。如果集合很小但曾经很大,则对其进行迭代可能比O(n )慢。
set()
和list()
这样的容器,这些方法在未来的实现中可能会有所不同,而这个简单的启发式方法将在不知道内部情况的情况下提供洞察力。 - norok2