Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/ RLE Public

Кодирует, сжимая строку и расшифровывает ее обратно до исходного состояния.

Notifications You must be signed in to change notification settings

PromathBul/RLE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

5 Commits

Repository files navigation

Задача

Реализуйте RLE алгоритм: реализуйте модуль сжатия и восстановления данных.

Входные и выходные данные хранятся в отдельных текстовых файлах.

Решение

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

Решение сводится к двум методам.

  • Первый метод шифрования/сжатия. Его принцип основывается на том, что при прохождении через цикл for с помощью функции range сравниваются два ближайших символа. Если они одинаковы, то счетчик count увеличивается на 1. Если же они разные то в случае, если счетчик больше 1, к строке decodong добавляется значение счетчика и значение предыдущего символа. А count снова приравнивается 1.
  • Второй метод декодирования. Его принци п основывается на опеделении является ли символ цифрой. Если да то он добавляется к строке count. Если же нет, то к строке decoding добавляется значение символа, умноженное на переведенное в число значение count.

Для визуализации сжатия добавлена переменная, которая считает степень сжатия и выводит ее в консоль в процентах.

About

Кодирует, сжимая строку и расшифровывает ее обратно до исходного состояния.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /