Opened 6 years ago
Closed 6 years ago
#228 closed ожидается проверка (задача сдана)
Домашнее задание 2
Reported by: | chernyaev.arsenij | Owned by: | rutsky,grabovoy.philipp |
---|---|---|---|
Priority: | проверка | Milestone: | ha2-deadline |
Component: | HA#2 huffman | Version: | 1.0 |
Keywords: | Cc: |
Description
Change History (9)
comment:1 Changed 6 years ago by
Milestone: | ha2-milestone2 → ha2-deadline |
---|---|
Type: | ожидается проверка → ожидаются исправления |
comment:2 Changed 6 years ago by
Прошу прощения за долгое молчание. Не уследил, что статус тикета был изменён. Должно ли приходить оповещение об этом на почту?
По 9 пункту, я не использовал вектор bool для того, чтобы использовать конструкции построения сжатого представления в более удобном виде.
В остальном, постарался исправить замечания. Странный аутпут был из-за того, что я выписывал его в битах.
comment:3 Changed 6 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|
comment:4 Changed 6 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
Привет!
- Появились утечки памяти - освобождения потерялись при рефактиринге.
priority_queue
не дает гарантий на порядок равных элементов: чтобы дерево не получалось разным, нужно от этого защититься. Компаратор крутой и готов процессить ноды с одинаковыми частотами: он разрезолвит порядок по символу. А в "input"-нодах необходимый инвариант выполняется?
Поправить, пожалуйста, по возможности в течение 60 часов.
comment:5 Changed 6 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|
comment:6 Changed 6 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
Привет! Утечки все еще есть. Посмотришь еще раз?
comment:7 Changed 6 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|
comment:9 Changed 6 years ago by
Resolution: | → задача сдана |
---|---|
Status: | new → closed |
Дифф большеват, но в целом это лучше, чем +2 delete
:)
Note: See
TracTickets for help on using
tickets.
Привет!
Замечания:
ha1
,ha2
std::string::operator==
вместоstrcmp
-c
: по условию просят выводить это.#include <map>
вhuffman.cpp
приезжает 2 раза -- как хорошо, что там есть стражи включения/#pragma once
:)pop
'нут?stream.close();
-- явно это делать нет необходимости, RAII очень удобно помогает :)process_node
,print_encodings
encoding_table[node->symbol] = std::vector<uint8_t>(current_bit_sequence);
-- объект будет скопирован и без явного вызова конструктора (потому что у класса есть copy-конструктор :) )std::vector<bool>
-- он хорошо соптимизирован.huffman
в т.ч.) для членов класса "сложных" типов по-умолчанию вызовется их конструктор по-умолчанию. Явно их можно не ресетить, если только нет плана повторно использовать объект еще раз:И то, без чего и так работает: можно использовать
std::vector
,std::unordered_map
вместоstd::map
.Edit: дублирующий тикет #237 закрою