什么是Java的TreeSet <Integer>(自平衡二叉树)的Ruby等价物?

Foo*_*hap 3 ruby binary-tree avl-tree

我想使用自平衡二叉树来使用一些算法,但是我很难找到Ruby的等效于Java的TreeSet(或C#的SortedSet).

我找到了像以下网页代码:

https://github.com/nahi/avl_tree#readme

https://github.com/MishaConway/binary_search_tree

http://blog.mikedll.com/2009/09/balanced-avl-binary-search-tree.html

我宁愿依赖Ruby标准库中的东西.Ruby的标准库中是不是有一些类?除了RubyTree之外我似乎找不到太多东西,我不相信它是自我平衡的.

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

Bab*_*avi 8

您可以使用set中的SortedSet,如下所示

require 'set'
 s = SortedSet.new([8,2,9,3])
 => #<SortedSet: {2, 3, 8, 9}>
Run Code Online (Sandbox Code Playgroud)

将参数数组作为参数传递

  • @FoolishChap这是一棵红黑树.请参阅https://github.com/ruby/ruby/blob/trunk/lib/set.rb#L540 (2认同)