В этом уроке мы научим наш архиватор распаковывать сжатые им файлы.
Подробнее:
Разберемся, как именно будет проходить процесс декодирования VLC-файлов. Обсудим, почему нас не устраивает простой перебор и хэш-таблицы, и почему нам подходит поиск по бинарному дереву (binary tree).
Научимся строить бинарное дерево для поиска по таблице кодирования, и декодировать с его помощью текст.
В конце разберемся, почему сжатые файлы увеличиваются в размере, а не уменьшаются, обсудим процесс исправления этой проблемы.
Весь исходный код из уроков можно найти здесь:
Коммиты в данный репозиторий будут повторять структуру уроков.
00:00 Вступление
00:22 Теоретическая часть: процесс декодирования
01:06 Теоретическая часть: поиск по таблице кодирования
01:54 Теоретическая часть: хэш-таблицы (нет)
02:34 Теоретическая часть: поиск по бинарному дереву
04:45 Создаём команду unpack
05:04 Проблема с организацией структуры команд
06:43 Команда unpack: продолжаем
08:57 Рефакторинг кода, работающего с чанками
10:41 Проектирование функции Decode
11:23 Функция NewHexChunks()
12:30 Тест для NewHexChunks()
13:12 Метод () (конвертация чанков)
15:04 Тест для ToBinary()
16:09 Метод ()
16:35 Тест для Join()
17:12 Проектируем дерево декодирования (DecodingTree)
18:29 Построение DecodingTree из таблицы кодов
19:03 Метод ()
21:40 Тест для DecodingTree() и Add()
24:39 Метод ()
27:26 Доделываем основную функцию Decode()
28:10 Функция exportText() - возвращаем тексту заглавные буквы
30:04 Тест для функции Decode()
30:39 Используем Decode() в команде unpack
30:53 Компилируем программу и проверяем результат
31:35 Проблема: почему сжатые файлы увеличиваются в размере?
32:43 Заключение
#golang
10 views
3315
883
4 months ago 00:03:40 1
“Я б уехал в ГДР“ Олег Гончаров (версия библиотека в Тучково)
4 months ago 00:07:15 1
ТЕБЕ ПРИЛЕТИТ БАН В СТИМЕ ЗА !
4 months ago 00:18:03 1
ПОЛУЧИ КРЕДИТЫ за БАН СОФТЕРА в Warface!
4 months ago 05:27:42 1
Python — полный курс для начинающих. Этот навык изменит твою жизнь.