если ключ не найден он возвращал ссылку (или ключ) на следующий элемент меньше/больше заданного ключа. Я так понимаю можно вычислить пару (tree.range(..k), tree.range(k..)), но это как-то некрасиво и видимо обойдет дерево дважды, хотя этого и не требуется, есть решение получше?
Но bsearch же возвращает Err(insert_idx)?
ну да, но у дерева нет численных индексов просто по нему можно понять элементы меньше/больше, хотя наверное и основная цель для того куда вставлять
Ну есть вариант сделать tree.range(k..) и если там None сразу возвращает, то просто tree.last_key_value().
да не, tree.range вполне себе решение, только его зачем-то дважды надо вызывать, хотя дерево достаточно однажды обойти
Ну потому что гладиолус.
Обсуждают сегодня