Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby与Java的等价物是什么;s TreeSet<;整数>;(自平衡二叉树)?_Ruby_Binary Tree_Avl Tree - Fatal编程技术网

Ruby与Java的等价物是什么;s TreeSet<;整数>;(自平衡二叉树)?

Ruby与Java的等价物是什么;s TreeSet<;整数>;(自平衡二叉树)?,ruby,binary-tree,avl-tree,Ruby,Binary Tree,Avl Tree,我想使用一个自平衡二叉树来处理一些算法,但我很难找到与Java的TreeSet(或C#的SortedSet)等价的Ruby 我发现了如下web代码: 我宁愿依赖Ruby的标准库中的东西。Ruby的标准库中没有针对这个的类吗?除此之外,我似乎找不到什么,我不认为这是自我平衡 (我会一直搜索直到找到它,或者这个论坛上有人给我指出了正确的方向:)你可以从集合中使用SortedSet,如下所示 require 'set' s = SortedSet.new([8,2,9,3]) => #

我想使用一个自平衡二叉树来处理一些算法,但我很难找到与Java的TreeSet(或C#的SortedSet)等价的Ruby

我发现了如下web代码:

我宁愿依赖Ruby的标准库中的东西。Ruby的标准库中没有针对这个的类吗?除此之外,我似乎找不到什么,我不认为这是自我平衡


(我会一直搜索直到找到它,或者这个论坛上有人给我指出了正确的方向:)

你可以从集合中使用SortedSet,如下所示

require 'set'
 s = SortedSet.new([8,2,9,3])
 => #<SortedSet: {2, 3, 8, 9}>
require'set'
s=新分拣集([8,2,9,3])
=> #

将参数数组作为参数传递

因此,如果我想确定在随机生成的平衡二进制搜索树中查找密钥所需的平均时间,我可以使用SortedSet?我想看看SortedSet是如何作为一个平衡的二进制搜索树实现的。。。hmmm@FoolishChap这是一棵红黑相间的树。看单词!非常感谢!在MRI中,它是使用哈希实现的,在所有其他Ruby实现中,它是使用某种自平衡搜索树实现的。Ruby语言规范没有指定任何特定的数据结构或算法;事实上,Ruby语言规范完全忽略了整个标准库。所以,你不能依赖它。