设置操作与ruby中的数组操作的效率
集合和数组之间的运算效率有何不同?
例子:
- 查找
- 迭代
- 包括?
在Ruby中, Set
是使用底层Hash
为其存储编写的,它通常应该执行与Hash等效的操作。 从而:
-
include?
:O(1)表示Set,O(n)表示Array - 枚举:两者都是O(n)
-
delete
:O(1)表示Set,O(n)表示Array
…等等。
如果通过“查找”表示按索引查找,我会注意到默认的Set实现是无序的,因此它不像Array那样支持该操作。
集合和数组之间的运算效率有何不同?
例子:
在Ruby中, Set
是使用底层Hash
为其存储编写的,它通常应该执行与Hash等效的操作。 从而:
include?
:O(1)表示Set,O(n)表示Array delete
:O(1)表示Set,O(n)表示Array …等等。
如果通过“查找”表示按索引查找,我会注意到默认的Set实现是无序的,因此它不像Array那样支持该操作。