scala - Scala 中 Map.clear 的时间复杂度

标签 scala dictionary time-complexity scala-collections

Map上调用时,clear的时间复杂度在 map 的大小上是O(1)还是O(n)?

最佳答案

在不可变映射的情况下,没有 clear 因为它们是不可变的,但它们确实有 empty 返回该类型的新空映射。因为它只是一个对象创建,所以它是 O(1)。然而,可变映射是 O(n),其中 n 基于底层数据结构,因为它们必须清除该数据结构。对于典型的可变 HashMap,这将是一个表。表格大小将介于 Map 过去的最大大小的 0.75 到 1.5 之间。

关于scala - Scala 中 Map.clear 的时间复杂度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8321836/

相关文章:

scala - 如何重载scala函数的应用方法

sql - 内置 SQL 函数的时间复杂度,例如 sum、count、avg

python - 为什么 mydict.items().sort() 不起作用?

Python - 用字典中的条目替换字符串中的单词

c# - 关于声明泛型嵌套类的编译错误

algorithm - Q : Solving the following recurrence: T(n) = 8T(n/8) + n log n

algorithm - 根据大 O 复杂度对函数进行排序

json - 使用 json4s 解析 JSON 中的空值

scala - 这个符号 "<:"在 scala 中意味着什么?

scala - 为什么 Haskell 的 foldr 不是 stackoverflow 而相同的 Scala 实现呢?