文件名称:segment_tree:段树数据结构的Ruby实现,用于存储间隔。 它允许查询哪些存储段包含给定点
文件大小:10KB
文件格式:ZIP
更新时间:2024-05-24 02:12:48
Ruby
段树 Ruby实现数据结构。 段树是用于存储间隔或段的树数据结构。 它允许查询哪些存储段包含给定点。 从原则上讲,它是静态结构; 也就是说,一旦构建结构,便无法修改其内容。 段树存储的复杂度为O(n) 。 段树查询的复杂度为O(log n) 。 查询具有约1000万个细分的树的速度非常快,尽管构建这样的大树将花费很长时间。 在内部,它不是一棵树-它只是一个排序的数组,而查询树只是一个简单的二进制搜索(在0.1.0之前的版本中,它是作为实树实现的,但是这些树消耗了大量内存)。 安装 将此行添加到您的应用程序的Gemfile中: gem 'segment_tree' 然后执行: $ bundle 或将其自己安装为: $ gem install segment_tree 用法 段树由段(在Ruby中为Range对象)和相应的值组成。 构建段树的最简单方法是从以段为键的哈希值创建它:
【文件预览】:
segment_tree-master
----.gitignore(160B)
----README.md(5KB)
----segment_tree.gemspec(928B)
----Gemfile(180B)
----LICENSE(1KB)
----.rspec(26B)
----benchmark()
--------benchmark.rb(963B)
--------profile.rb(456B)
----spec()
--------segment_tree_spec.rb(4KB)
--------spec_helper.rb(430B)
----.travis.yml(183B)
----lib()
--------segment_tree()
--------segment_tree.rb(3KB)
----Rakefile(113B)