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

Цель проекта

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

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

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

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

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

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

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

Разработка Telegram-бота на Django

Требуется создать небольшого, но функционального Telegram-бота с использованием фреймворка Django. Логика работы бота будет предоставлена исполнителю. Основное требование - чистая и поддерживаемая архитектура.

Разработка сайта для продажи цифровых пианино

Требуется создать интернет-магазин по продаже цифровых пианино. За основу взят функционал и структура существующего сайта из музыкальной сферы. Необходимо реализовать каталог товаров и базовые функции онлайн-продаж.