172 похожих чатов

В чем прелесть BTreeMap? Насколько понял из описания, там удобно

батчить get операцию, т. к. ключи отсортированы по дереву. Как мне взять, допустим, все элементы с префиксом XYZ?

16 ответов

28 просмотров

Чтобы иметь возможность перебирать ключи по порядку и запрашивать сразу некоторый их диапазон. Вдобавок, очень маленькие BTreeMap могут работать быстрее HashMap, особенно с дефолтным хешером. Если эти возможности тебе не требуются, то используй HashMap и не парься

mental-stability🥺✨ Автор вопроса
Антон 🇦🇲
Чтобы иметь возможность перебирать ключи по порядк...

Что значит "по порядку"? В HashMap#iter не "по порядку"? Или имеется в виду тот порядок, в котором они были добавлены?

mental stability🥺✨
Что значит "по порядку"? В HashMap#iter не "по пор...

Итератор по HashMap выдаёт элементы в каком-то порядке. Каком именно — не фиксируется

mental-stability🥺✨ Автор вопроса
Антон 🇦🇲
Итератор по HashMap выдаёт элементы в каком-то пор...

А одинаковый хэш всё также заменяет значение, да?

На вид звучит как https://doc.rust-lang.org/stable/alloc/collections/btree_map/struct.BTreeMap.html#method.range

Тут наверное правильнее было сказать: в порядке добавления. Например в python есть гарантия, что порядок добавления = порядку итерации. В Rust такого нету

mental-stability🥺✨ Автор вопроса
Mikail Bagishov
На вид звучит как https://doc.rust-lang.org/stable...

Не то. Кажется, мне всё же нужно что-то типа trie map

mental stability🥺✨
Не то. Кажется, мне всё же нужно что-то типа trie ...

а чем не устраивает? Я вижу только проблему, что тут диапазон не очень удобно подбирать, типа XYZ..XY(Z+1)

mental-stability🥺✨ Автор вопроса
Mikail Bagishov
а чем не устраивает? Я вижу только проблему, что т...

Мне по префиксу искать нужно. XYZ это типа sample text)

mental stability🥺✨
Мне по префиксу искать нужно. XYZ это типа sample ...

ну да, и такой range() как раз вернет все записи с таким префиксом у ключа

mental-stability🥺✨ Автор вопроса
Mikail Bagishov
ну да, и такой range() как раз вернет все записи с...

Знал бы я диапазон хотя бы, можно было бы найти первый ключ и взять n после него. Мне же нужно найти все значения с "prefix_"

Смотря как критерий сортировки задан. Для строк действительно лучше другие структуры данных, но если лексикографический порядок задан, то range берётся от XYZ до XZ, кажется

можно прочитать первую строку документации) B-Trees represent a fundamental compromise between cache-efficiency and actually minimizing the amount of work performed in a search

Ivan Krivosheev
Тут наверное правильнее было сказать: в порядке до...

Я бы уточнил что в питоне это добавили в какой-то там 3.x версии

Nichita
Я бы уточнил что в питоне это добавили в какой-то ...

да маппинги раньше не гарантировали последовательность

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта