Um código de afixo é um código que é simultaneamente um código de prefixo e sufixo. Ou seja, nenhuma palavra de código não é nem o prefixo nem o sufixo de qualquer outra palavra de código. Os códigos de afixação podem ser decodificados instantaneamente nas duas direções (para frente e para trás).
Quero criar um que comprima de maneira ideal uma determinada distribuição de símbolos de entrada, considerando um conjunto de símbolos de saída.
O algoritmo de Huffman (que cria códigos de prefixo) se aproxima mais, mas devido à sua estratégia gananciosa, parece inadequado para modificações com esse objetivo.
Como encontrar códigos de afixação ideais?
FWIW, parece-me provável que exista um PTAS para o problema, seguindo a idéia básica deste artigo . (Isso não responde exatamente à sua pergunta, mas ainda descreverei o PTAS aqui na seção de respostas, pois é muito longo para caber em um comentário.)
fonte