es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Existe un algoritmo para encontrar la representación binaria más corta para cada entrada dentro de un rango determinado?

Tengo un esquema de codificación, pero no sé el nombre de este. Sé que debe haber un algoritmo para codificar/descodificar enteros en este esquema binario. El esquema es el siguiente:

   1  2  3   4   5    6    7    8    9     etc.

<p>0  -  0  0   00  00   00   00   000  000
1     1  10  01  01   01   010  001  001
2        11  10  10   100  011  010  010
3            11  110  101  100  011  011
4                111  110  101  100  100
5                     111  110  101  101
6                          111  101  110
7                               111  1110
8                                    1111</p>

<p>etc.

Ejemplo:
Cuando tienes un rango de 6 enteros (0 a 5), puedes usar la columna 6. Así puedes ahorrar un bit en los números 0 y 1. Si usas la columna 9, ahorrarás un bit en cada número excepto en el 7 y el 8.

El “ahorrarás un bit” se opone a usar palabras de 2, 3, 4 o N bits.

Intenté buscar esto en Google, pero no encuentro las palabras clave correctas. ¿Alguien puede indicarme en la dirección correcta?

¡Gracias!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Según el esquema de codificación proporcionado, parece ser una variación de un esquema de codificación de Huffman. La codificación de Huffman es un tipo de codificación de longitud variable que asigna códigos más cortos a símbolos que ocurren con frecuencia y códigos más largos a símbolos que ocurren con menos frecuencia.

    En este esquema, cada número entero tiene un código binario correspondiente compuesto por 0s y 1s. Los códigos se disponen en un patrón triangular, donde cada fila representa un bit adicional de código. Los códigos se construyen de manera que se minimice el número total de bits necesarios para representar los enteros.

    Para codificar un número entero utilizando este esquema, se buscaría su código correspondiente en la tabla y se utilizaría esa secuencia binaria. Para decodificar una secuencia binaria, se comenzaría desde la parte superior de la tabla y se recorrerían las filas hasta encontrar una coincidencia.

    Es posible que este esquema sea una implementación personalizada o una variación de un esquema conocido. Sin información adicional, resulta difícil determinar el nombre exacto u origen de este esquema.

Comments are closed.