Opened 6 years ago

Closed 6 years ago

#216 closed ожидается проверка (задача сдана)

Домашнее задание #2

Reported by: terehov.arseniy Owned by: rutsky,grabovoy.philipp
Priority: проверка Milestone: ha2-milestone2
Component: HA#2 huffman Version:
Keywords: Cc:

Description


Change History (7)

comment:1 Changed 6 years ago by terehov.arseniy

Milestone: ha2-milestone1

comment:2 Changed 6 years ago by Филипп

Milestone: ha2-milestone1ha2-milestone2

Привет! Несколько замечаний:

  1. Название результирующего бинаря.
  2. Приводить тут к string явно необязательно: s.push_back((string) argv[i]);
  3. Списки инициализации в конструкторах (Element, Node) -- лучше использовать их.
  4. Передача агрументов по константной ссылке вместо копирования: createMapCharactersCount, buildHuffmanTree, comprassionString, createSetPriorityCharacters
  5. В Element::operator< последний returnelse) бессмысленен.
  6. Вместо хранения кода символа в std::string предлагается использовать std::vector<bool> -- он соптимизирован под хранение флагов.

Поправьте это, пожалуйста, в течение 60 часов.

И еще вещи, без которых в принципе тоже работает:

  1. Классы со всеми public-мемберами принято делать структурами.
  2. flag из сигнатур функций compraseFile (compressFile?), uncompressFile стоит именовать более конкретно: например is_showing_code_table_required.
  3. createMapCharactersCount может возвращать и std::unordered_map (или даже std::vector)
  4. Из createSetPriorityCharacters предпочтительно возвращать std::priority_queue: у него асимтотика на получение минимума/удаление получше.
Last edited 6 years ago by Филипп (previous) (diff)

comment:3 Changed 6 years ago by terehov.arseniy

Здравствуйте. Изменил все пункты кроме 3 и 4. Четвертый вы сказали не делать, а в третьем мне нужно, чтобы именно была map (unnordered не подойдёт, мне же нужно выводить в лексикографическом порядке), мне кажется она в этом плане самая удобная. Или я Вас не так понял?

comment:4 Changed 6 years ago by Филипп

Type: ожидается проверкаожидаются исправления

Привет!

  1. В последней ревизии svn нет ha2 в твоей папке. Я смотрел на r223 -- это последняя?
  2. Проверь, пожалуйста, выводимые цифры -- кажется, во всех примерах размер сжатого файлика больше на суммы статистик про него на 4.

Удасться посмотреть в течение 60 часов?

comment:5 Changed 6 years ago by terehov.arseniy

Type: ожидаются исправленияожидается проверка

Здравствуйте. Поправил, те 4 байта действительно не учитывались (в них храниться длина закодированного слова в байтах), я добавил их к доп данным, чтобы размер сжатых данных был именно только размером сжатых данных. И залил ha2.

comment:6 Changed 6 years ago by terehov.arseniy

Здравствуйте. Поправил, те 4 байта действительно не учитывались (в них храниться длина закодированного слова в байтах), я добавил их к доп данным, чтобы размер сжатых данных был именно только размером сжатых данных. И залил ha2.

Version 0, edited 6 years ago by terehov.arseniy (next)

comment:7 Changed 6 years ago by Филипп

Resolution: задача сдана
Status: newclosed
Note: See TracTickets for help on using tickets.