Диапазон / Сегмент Дерево Рубин

Я ищу реализацию диапазона или дерева сегментов в Ruby. Я не мог найти образец или драгоценный камень в наличии.

У кого-нибудь есть пример кода?

Спасибо,

2 ответа

Там, кажется, один называется interval-treeрепо здесь, https://github.com/gam3/interval-tree и здесь https://github.com/misshie/interval-tree. Кажется, что это сделал позже, но драгоценный камень на rubygems указывает на первое. Очень странно.

Документация неверна на репо и везде. Чтобы использовать это, используйте либо IntervalTree::InclusiveTree.new или же IntervalTree::ExclusiveTree.new, Это нигде не задокументировано, что странно. Также, что не менее странно, невозможно добавить проблемы в репозиторий github, чтобы это исправить. Я рассматриваю возможность создания новой версии, которую может поддерживать сообщество.

В любом случае, вот как вы это используете:

require "interval-tree"

itv = [(0...3), (1...4), (3...5),]
t = IntervalTree::Tree.new(itv)
p t.search(2) => [0...3, 1...4]
p t.search(1...3) => [0...3, 1...4, 3...5]

Как видите, в репо также неправильно задано заявление require. Что за беспорядок

Другие вопросы по тегам