Техническое задание: Реализация алгоритма FGK на Python

Цель проекта

Разработать приложение, которое наглядно демонстрирует работу алгоритма динамического кодирования Хаффмана (FGK).

Основные требования

  • Реализация алгоритма FGK (динамического кодирования Хаффмана) должна быть выполнена "с нуля" на чистом Python.
  • Запрещено использование любых сторонних библиотек для реализации самого алгоритма сжатия.
  • Разрешено применение библиотек только для целей визуализации процесса работы алгоритма (например, отрисовка деревьев, графиков).
  • Код должен быть чистым, хорошо структурированным и документированным.

Функциональность приложения

  • Возможность ввода произвольной текстовой строки для кодирования.
  • Пошаговое выполнение алгоритма FGK с отображением изменений в дереве кодирования.
  • Вывод итоговых кодов для каждого символа.
  • Визуализация дерева Хаффмана на каждом шаге обработки входных данных.
  • Расчет и отображение степени сжатия.

Ожидаемый результат

Готовое рабочее приложение с графическим интерфейсом или консольным управлением, которое позволяет экспериментировать с алгоритмом FGK, наблюдать за процессом построения кодов и анализировать эффективность сжатия.

Разработка раздела Пожарной безопасности для проекта здания (стадия П и Р)

Требуется подготовить полный раздел Пожарной безопасности (ПБ) для прохождения экспертизы. Все правки и требования экспертов уже учтены в проектной документации. Срок выполнения работы - 2 недели.