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

最佳答案

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

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

10-16 17:16