[Перевод] Структуры данных на практике. Глава 11: Префиксные деревья и базисные деревья
Кошмар с автозавершениемНаше префиксное дерево было в 8 раз медленнее хэш-таблицы. И оно потребляло 128 МБ памяти, в отличие от хэш-таблицы с 24 МБ.Такого не должно было произойти. Префиксные деревья — стандартное решение для автозавершения: поиск за O(k), где k — длина строки вне зависимости от размера датасета. Ид...
Кошмар с автозавершениемНаше префиксное дерево было в 8 раз медленнее хэш-таблицы. И оно потребляло 128 МБ памяти, в отличие от хэш-таблицы с 24 МБ.Такого не должно было произойти. Префиксные деревья — стандартное решение для автозавершения: поиск за O(k), где k — длина строки вне зависимости от размера датасета. Идеально подходит для сопоставления префиксов. Обычно всегда используется для автозавершения, проверки правописания и таблиц IP-маршрутизации.Мой коллега предложил использовать префиксное дерево для функции автозавершения в нашем инструменте командной строки. Поиск в нём должен был выполняться по 50 тысячам команд и опций. Учебники говорили, что это правильный выбор.Поэтому мы реализовали префиксное дерево. Результаты бенчмарка оказались ужасными:Префиксное дерево было в 8 раз медленнее простой хэш-таблицы. И оно использовало 128 МБ памяти, в то время как хэш-таблица — всего 24 МБ.Где мы ошиблись?
Краткая сводка
Авторы использовали префиксное дерево для автозавершения, но в тесте оно оказалось в 8 раз медленнее хеш‑таблицы и потребовало 128 МБ памяти против 24 МБ у хеш‑таблицы, что заставило их искать ошибку в реализации.
Связанные теги
Компании и люди
Линия сюжета
Продолжить следить за темой
Переходите к связанным материалам, страницам сущностей и активным линиям сюжета.
Почему хаос в данных убивает продажи и как правильная архитектура спасает ритейл
Всем привет! Меня зовут Александр Чепрасов, я бизнес-аналитик компании QSOFT. В этой колонке я расскажу, как беспорядок в данных ритейл-компаний может разрушить продажи — и коне...
Программа MusPlay для ввода нот и их проигрывания
Программа MusPlay предназначена для создания и проигрывания музыкальных композиций, используя их нотную запись и заранее записанные в аудио файлы звучание отдельных нот, извлека...
Платёжный агент для валютной выручки и валютной зарплаты: как я выбирал лучшего
Собрал топ-9 критериев, которые помогут удалёнщикам, импортёрам и экспортёрам из России выбрать надёжного платёжного агента и получать зарплату из-за рубежа без ограничений.Эти ...
Испытываем подход от CEO Y Combinator — запускаем ИИ фабрику работяг на базе Claude Code
Неделю назад по сети пронеслась новость о том, что генеральный директор Y Combinator Гарри Тан с помощью ИИ Claude пишет десятки тысяч строк кода ежедневно и имеет виртуальную к...
Ненужные технологии
Научно-технический прогресс по ходу дела создаёт кучу лишнего, ненужного и даже вредного. Конечно, спустя годы большинство из этого отмирает. Антитела у человечества вырабатываю...
Зачем и как избавляться от незаменимых сотрудников
Привет, Хабр! Я — Иван Потапенко, на момент подготовки этого материала был независимым экспертом, а сейчас работаю в Yandex Infrastructure. В IT — 20 c копейками лет. Потрудился...
Страницы сущностей
Рекламный слот
Встроенный блок в статье
Зарезервированный партнерский слот для релевантных инструментов, сервисов и аккуратных редакционных интеграций.
Похожие статьи
Еще материалы, которые пересекаются по тегам, источнику или категории.
Почему хаос в данных убивает продажи и как правильная архитектура спасает ритейл
Всем привет! Меня зовут Александр Чепрасов, я бизнес-аналитик компании QSOFT. В этой колонке я расскажу, как беспорядок в данных ритейл-компаний может разрушить продажи — и коне...
Программа MusPlay для ввода нот и их проигрывания
Программа MusPlay предназначена для создания и проигрывания музыкальных композиций, используя их нотную запись и заранее записанные в аудио файлы звучание отдельных нот, извлека...
Платёжный агент для валютной выручки и валютной зарплаты: как я выбирал лучшего
Собрал топ-9 критериев, которые помогут удалёнщикам, импортёрам и экспортёрам из России выбрать надёжного платёжного агента и получать зарплату из-за рубежа без ограничений.Эти ...
Испытываем подход от CEO Y Combinator — запускаем ИИ фабрику работяг на базе Claude Code
Неделю назад по сети пронеслась новость о том, что генеральный директор Y Combinator Гарри Тан с помощью ИИ Claude пишет десятки тысяч строк кода ежедневно и имеет виртуальную к...
Еще материалы от Habr
Свежие публикации и продолжение темы от той же редакции.
Почему хаос в данных убивает продажи и как правильная архитектура спасает ритейл
Всем привет! Меня зовут Александр Чепрасов, я бизнес-аналитик компании QSOFT. В этой колонке я расскажу, как беспорядок в данных ритейл-компаний может разрушить продажи — и коне...
Программа MusPlay для ввода нот и их проигрывания
Программа MusPlay предназначена для создания и проигрывания музыкальных композиций, используя их нотную запись и заранее записанные в аудио файлы звучание отдельных нот, извлека...
Платёжный агент для валютной выручки и валютной зарплаты: как я выбирал лучшего
Собрал топ-9 критериев, которые помогут удалёнщикам, импортёрам и экспортёрам из России выбрать надёжного платёжного агента и получать зарплату из-за рубежа без ограничений.Эти ...
Испытываем подход от CEO Y Combinator — запускаем ИИ фабрику работяг на базе Claude Code
Неделю назад по сети пронеслась новость о том, что генеральный директор Y Combinator Гарри Тан с помощью ИИ Claude пишет десятки тысяч строк кода ежедневно и имеет виртуальную к...