Ты не. Вы переходите на новый размер, когда словарь заполнен. Словарь дешифратора синхронизирован со словарем энкодера, поэтому они оба будут заполнены одновременно, и декодер перейдет к новому размеру именно тогда, когда это произойдет.
Время, когда вам нужно отправить код, чтобы сообщить об изменении, - это когда вы полностью заполнили словарь - вы использовали все самые большие доступные коды. В этом случае вы , как правило, хотите продолжать использовать словарь до тех пор, пока / или если уровень сжатия не начнет падать, затем очистите словарь и начните все сначала. Вам нужно поставить маркер, чтобы сказать, когда это произойдет. Как правило, для этой цели вы резервируете самый большой код, но любой код, который вы не используете для других целей, будет работать.
Редактировать: кроме того, обратите внимание, что вы обычно хотите начинать с кодов, которые на один бит больше, чем коды для входа, поэтому, если вы сжимаете 8-битные байты, вы должны начать с 9-битных кодов. 1007 *