Частотные деревья: способ хранения
нужно всего лишь хранить распределению частот. Дерево строится автоматически. Если нужно хранить именно дерево - в питоне есть встроенный сериализатор
распределение частот же должно быть для конкретных ключей, так?
можно немного поконкретнее?
можно немного поконкретнее?
Если набор ключей известен заранее (алфавит то просто записываешь в бинарном виде double для их частот. Если алфавит неизвестен, сначала помещаешь алфавит. Тут всё зависит от вида ключа (постоянный размер или переменный).
А для каких целей тебе это нужно собственно?
А для каких целей тебе это нужно собственно?
Задачку одну попросили сделать.
Алфавит (набор ключей) неизвестен, по сути — набор цифр (на самом деле—нет, что-то тип ID, но это уже неважно) размер ключей постоянный.
Кажется, я понял.
А можно сначала построить дерево Хафмена из одного элемента, а потом добавлять элементы, меняя при необходимости вершины местами в зависимости от частоты встречи ключа?
Не подскажешь, какой модуль надо взботнуть, чтобы с реализацией дерева не маяться?
И еще: как хранить это дерево?
Алфавит (набор ключей) неизвестен, по сути — набор цифр (на самом деле—нет, что-то тип ID, но это уже неважно) размер ключей постоянный.
Кажется, я понял.
А можно сначала построить дерево Хафмена из одного элемента, а потом добавлять элементы, меняя при необходимости вершины местами в зависимости от частоты встречи ключа?
Не подскажешь, какой модуль надо взботнуть, чтобы с реализацией дерева не маяться?
И еще: как хранить это дерево?
Оставить комментарий
Fofa
Есть ли еще какие-нибудь, кроме деревьев Хафмена?И главный вопрос: допустим, я обработал файл, получил частотное дерево, теперь хочу обработать другой файл, в котором ключи встречаются примерно с теми же частотами. Перед тем, как обрабатывать другой файл, я хочу сохранить дерево. Как это сделать? Понятно, что можно использовать, например, текстовый файл, из которого затем считать информацию о структуре дерева, но может есть другие, более удобные и стандартные способы?
Язык, на котором прогаю, — питон.