125 читали · 5 лет назад
Чем хороши префиксные деревья?
Статья подготовлена для студентов курса «Алгоритмы для разработчиков» в образовательном проекте OTUS. Как эффективно решить задачу автодополнения для строки поиска? Точнее, какую структуру данных выбрать, чтобы хранить все известные слова, для которых потребуется искать окончания? Попробуем разобраться. Почему массив плохо подходит? Проверка, совпадает ли строка-паттерн, для которой мы ищем продолжение, с началом другой строки в худшем случае требует O(k) времени, где k — длина паттерна. Фильтрация...
7041 читали · 4 года назад
Кодирование информации. Условие Фано. Построение бинарного дерева.
Кодирование - это перевод информации с одного языка, в последовательность кодов. Для удобства ее хранения, передачи и обработки. При вводе в компьютер информации, происходит ее двоичное кодирование. Информация может быть текстовая, графическая, звуковая...