Skip to content

Commit ab5bd55

Browse files
committed
Added description in file 'README.md'
1 parent a49d533 commit ab5bd55

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

README.md

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1-
# Изменения
2-
+ Изменены методы кодирования и декодирования таким образом, чтобы, если встречается одиночный символ, в сжатом виде перед ним не стояла единица. Иначе кодировка одного символа занимает в два раза больше места.
3-
+ Для визуализации сжатия добавлена переменная, которая считает степень сжатия и выводит ее в консоль в процентах.
1+
# Задача
2+
Реализуйте RLE алгоритм: реализуйте модуль сжатия и восстановления данных.
3+
4+
Входные и выходные данные хранятся в отдельных текстовых файлах.
5+
6+
# Решение
7+
Входные данные генерируюся случайным образом и записывайются в файл, откуда уже экспортируются для обработки.
8+
9+
Решение сводится к двум методам.
10+
+ Первый метод шифрования/сжатия. Его принцип основывается на том, что при прохождении через цикл `for` с помощью функции `range` сравниваются два ближайших символа. Если они одинаковы, то счетчик `count` увеличивается на 1. Если же они разные то в случае, если счетчик больше 1, к строке `decodong` добавляется значение счетчика и значение предыдущего символа. А `count` снова приравнивается 1.
11+
+ Второй метод декодирования. Его принци п основывается на опеделении является ли символ цифрой. Если да то он добавляется к строке `count`. Если же нет, то к строке `decoding` добавляется значение символа, умноженное на переведенное в число значение `count`.
12+
13+
Для визуализации сжатия добавлена переменная, которая считает степень сжатия и выводит ее в консоль в процентах.

0 commit comments

Comments
 (0)