设置操作与ruby中的数组操作的效率

集合和数组之间的运算效率有何不同?

例子:

  • 查找
  • 迭代
  • 包括?

在Ruby中, Set是使用底层Hash为其存储编写的,它通常应该执行与Hash等效的操作。 从而:

  • include? :O(1)表示Set,O(n)表示Array
  • 枚举:两者都是O(n)
  • delete :O(1)表示Set,O(n)表示Array

…等等。

如果通过“查找”表示按索引查找,我会注意到默认的Set实现是无序的,因此它不像Array那样支持该操作。