Opened 6 years ago
Closed 6 years ago
#242 closed ожидается проверка (задача сдана)
Домашнее задание "Хаффман"
Reported by: | tereschenko.sergej | Owned by: | rutsky,grabovoy.philipp |
---|---|---|---|
Priority: | проверка | Milestone: | ha2-deadline |
Component: | HA#2 huffman | Version: | |
Keywords: | Cc: | tereschenko.sergej |
Description
Здравствуйте.
Перепутал даты последнего дедлайна по задаче.
Я понимаю, что баллы за неё уже не получить (хотя для меня это очень критично, так как первая задача у меня не зачтена). Надеюсь, что смогу получить хотя бы отзыв по решению.
Программа проходит все тесты из smoke_test + valgrind.
Change History (3)
comment:1 Changed 6 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
comment:2 Changed 6 years ago by
Cc: | tereschenko.sergej added |
---|---|
Type: | ожидаются исправления → ожидается проверка |
Внёс необходимые исправления (кроме одного).
Не понимаю в чём ошибка в 6 пункте. Компаратор сравнивает пары (частота, символы). Если у нас частоты совпадут, то идёт лексикографическое сравнение по символам, что гарантирует один и тот же порядок.
comment:3 Changed 6 years ago by
Resolution: | → задача сдана |
---|---|
Status: | new → closed |
С пунктом 6 я, видимо, посмотрел не в ту работу --- вы правы, у вас корректная реализация :)
Решение зачтено. Оценка с минусом, из-за поздней сдачи.
Замечания:
huffman.hpp
не самодостаточен, например, вы используетеstd::string
, но не включаете<string>
.nullptr
вместоNULL
.HuffmanTree(std::string data, std::uint32_t freq)
. А здесь по константному указателю:bool operator()(HuffmanTree* l, HuffmanTree* r)
.std::vector
вместо сырых массивов, например, здесь:std::uint32_t * counter = new std::uint32_t[256]();
.std::priority_queue
.std::priority_queue
не гарантирует порядок в котором элементы с одним и тем же приоритетом будут извлечены --- при сжатии порядок может оказаться одним, а при разжатии другим.Исправьте, пожалуйста, в ближайшее время.