Opened 6 years ago
Closed 6 years ago
#230 closed ожидается проверка (задача сдана)
Home assignment #2
Reported by: | Nicholas Kapralov | Owned by: | rutsky,grabovoy.philipp |
---|---|---|---|
Priority: | проверка | Milestone: | ha2-deadline |
Component: | HA#2 huffman | Version: | 1.0 |
Keywords: | Cc: |
Description
Здравствуйте!
Закоммитил файлы второго ДЗ, программа проходит smoke-test без valgrind'а, к сожалению, пока что имеются утечки памяти. Также я сейчас не успеваю сделать вывод кодов Хаффмана в лексикографическом порядке, на текущий момент они выводятся в порядке возрастания десятичных кодов символов, что я обязательно исправлю к финальному дедлайну.
Посмотрите, пожалуйста, когда будет возможность, буду рад исправить все замечания.
С уважением,
Николай.
Change History (8)
comment:1 Changed 6 years ago by
comment:2 Changed 6 years ago by
Насчёт проблемы с временем выполнения я погорячился, это был побочный эффект проверки valgrind, сама по себе программа укладывается в 5 секунд. Доделал вывод кодов в лексикографическом порядке.
comment:3 Changed 6 years ago by
Milestone: | ha2-milestone2 → ha2-deadline |
---|---|
Type: | ожидается проверка → ожидаются исправления |
Привет!
Замечания:
- Файл
abababababababab.in
сжимается хорошо, а цифры на экран выводятся подозрительные. - Для хранения кодов символов предпочтительнее использовать
vector<bool>
-- контейнер, оптимизированный для нулей и единиц. - Здесь можно сразу пользоваться возвращаемым значением метода
read
и неявно приводить его кbool
(if (input.read(...)) { ... }
):input.read((char *) &letter, sizeof(uint8_t)); if (input.good()) { ... }
- Лучше использовать C++-style приведения типов через
*_cast
И стилистическое:
- Предпочтительно у
Node
реализовать конструктор, чтобы не забывать проинициализировать чего-нибудь.
comment:4 Changed 6 years ago by
Большое спасибо за замечания!
- Исправил, судя по всему, ошибка была лишь в подсчёте размера сжатых данных, а не в процессе кодирования.
- Переделал.
- Поправил, так будет красивее, спасибо :)
- C
*_cast
'aми до этого не работал, постарался разобраться. - Конструктор для
Node
реализовал.
Не совсем получилось уложиться в 60 часов, но я надеюсь, что у Вас будет возможность ещё раз взглянуть.
comment:5 Changed 6 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|
comment:6 Changed 6 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
Привет!
Потести еще раз, пожалуйста, пример aaaaaaaaaaaaaaaa.in
("a" * 16) на циферки. Все остальное ок. Смоешь глянуть в течение 60 часов?
comment:7 Changed 6 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|
Ещё спасибо за замечания. Извиняюсь за невнимательность, эта та же ошибка, просто для кодирования исправил, а для декодирования - нет. Теперь значения корректны.
comment:8 Changed 6 years ago by
Resolution: | → задача сдана |
---|---|
Status: | new → closed |
После создания тикета одумался и смог избавиться от утечки памяти (теперь программа проходит и smoke test c valgrind'ом тоже), но ухудшилась ситуация с временем выполнения (иногда 15-20 секунд).