Forum Informatica Unict

LAUREA TRIENNALE (D.M. 270/04) => LAP 1: programmazione C/C++ 6 CFU => Topic started by: Shin on 15-02-2013, 20:37:44



Title: Codifica di Huffman in C++
Post by: Shin on 15-02-2013, 20:37:44
Mi sono allenato implementando la codifica di Huffman (http://it.wikipedia.org/wiki/Codifica_di_Huffman) in C++, se volete dare un'occhiata ecco il codice che ho scritto oggi:

Huffman.h (https://github.com/ShinDarth/Huffman-Encoding/blob/master/src/Huffman.h)
Huffman.cpp (https://github.com/ShinDarth/Huffman-Encoding/blob/master/src/Huffman.cpp)

probabilmente qualcosa si può migliorare, vi prego di provare a compilare ed eseguire il programma commentando qui nel forum nel caso abbiate dei suggerimenti in merito o delucidazioni riguardo al codice.


Title: Re:Codifica di Huffman in C++
Post by: Shin on 17-02-2013, 15:51:51
Ho aggiornato il codice sistemando qualche malfunzionamento e aggiungendo la verifica (tramite il Teorema di Shannon), così è più facile capire se funziona tutto come dovrebbe:

MIN è il limite inferiore imposto da Shannon (N*E)
MAX è il limite di tolleranza (N*E + N)

Il valore di bits utilizzati dovrebbe quindi tendere generalmente a MIN approssimato per eccesso, per input di grandi dimensioni si allontana un po' da MIN ma non deve comunque uscire dall'intervallo [MIN, MAX]