Объясните плиз, не совсем догоняю. Если у нас, например, серия бит 1111 0000 1111 0000 1011 0100
Два первых байта повторяются.
Мы записываем так???
2 1111 0000 1 1011 0100
Но получается , что там где один раз повторяется там мы много памяти потеряем ? 8 бит потеряем и пользы не будет.
....
Ну или даже просто нули :
4 1 4 0 4 1 4 0 1 1 1 0 2 1. 1 0. 2 0
Другие языки программирования и технологии
Как сжимать данные?
Как вас учат, так и сжимайте
Просто у вас откуда-то 2 4, а если это бинарное, то всегда 0 и 1.
Если же это строки, то все по разному может быть.
Для бинарных данных если дано допустим 10101010101010100111000011000000110000 и есть много повторных групп длиной допустим байт (8 бит) то можно договорится в начале писать индекс. Допустим у вас хоть и байт 8 бит или 256 значений, но символов всего от 0 до 9 - то бишь числа используются, значит всего 10 групп, которые можно закодировать всего 4 битами, вместо 8...так что уже в 2 раза можно сжать. Самое лучше сжатие по какой-то функции, тогда ты вычисляешь это... но вот нагрузки становятся очень большими, так и ютюб не стали тянуть слабые компы, так как перешили на видео более компактное, но требующее ресурсы компьютера для разжатия.
Просто у вас откуда-то 2 4, а если это бинарное, то всегда 0 и 1.
Если же это строки, то все по разному может быть.
Для бинарных данных если дано допустим 10101010101010100111000011000000110000 и есть много повторных групп длиной допустим байт (8 бит) то можно договорится в начале писать индекс. Допустим у вас хоть и байт 8 бит или 256 значений, но символов всего от 0 до 9 - то бишь числа используются, значит всего 10 групп, которые можно закодировать всего 4 битами, вместо 8...так что уже в 2 раза можно сжать. Самое лучше сжатие по какой-то функции, тогда ты вычисляешь это... но вот нагрузки становятся очень большими, так и ютюб не стали тянуть слабые компы, так как перешили на видео более компактное, но требующее ресурсы компьютера для разжатия.
Я Просто
А как по функции сжать?
Алгоритмы большинства распространённых алгоритмов сжатия доступны и хорошо описаны. Неясен вопрос. То ли нужна краткая характеристика случайно взятых алгоритмов, то ли в задании придумать форк одного из них. Оба варианта в формате этого сервиса рассматривать проблематично
Я Просто
Я хочу на пальцах понять суть алгоритма
Никто не сжимает серию из 4 бит. Это бессмысленно. Чтоб данные можно было сжать, их должно быть достаточно много. Вряд ли есть смысл сжимать блок данных меньше 100 байт.
Один из алгоритмов сжатия:
ru.wikipedia.org/wiki/Алгоритм_Лемпеля_—_Зива_—_Велча
https://ru.wikipedia.org/wiki/LZ77
https://ru.wikipedia.org/wiki/Код_Хаффмана
Один из алгоритмов сжатия:
ru.wikipedia.org/wiki/Алгоритм_Лемпеля_—_Зива_—_Велча
https://ru.wikipedia.org/wiki/LZ77
https://ru.wikipedia.org/wiki/Код_Хаффмана
Я Просто
А как мы узнаем какие последовательности сжимали, а какие нет?
Похожие вопросы
- Безопасно ли сжимать данные архиваторами типа winRar, 7Zip и проч...
- ООП это когда данные управляют кодом а функциональное когда код данными?
- Обмен данными между datagrid viewи базой данных
- Насколько безопасно хранение данных на флешке?? Я храню все резервные данные с моего ноута на флешке 32 гб!
- Как вы считаете, сколько могут стоить данные дизайны сайтов, и какой дизайн вам нравится больше? :))
- помогите разобраться с выводом данных из массива PHP
- Паскаль Структура хранения и ведения следующих данных
- Помогите с проблемой,Есть ли или существует метод-способ востоновить данные,файлы с карты памяти телефона.
- Информатика. Программирование. Обработка массивов данных. Помогите составить алгоритм и прог. код к нему.
- работа с базой данных рабочих