Visa version
Visa
< föregående
|
nästa >
Jämför
< föregående
|
nästa >
Extralabb 2
Bättre Huffmankodning
I den här uppgiften ska du bygga på labb 3 med tre utvidgningar.
En komprimerad fil
Beskrivningen av Huffmanträdet ("kodfilen" i labb 3) och den komprimerade filen ska lagras tillsammans i en fil. Beskrivningen av Huffmanträdet ska dessutom vara i binärformat (lämpligen 32-bitars heltat) och inte i textformat. Du kan t.ex. använda ett filformat:
<antal talpar> <tecken> <kod> .. <tecken> <kod> [den komprimerade filen]
där varje <> är ett 32-bitars tal.
Bättre komprimering
Programmet ska koda antingen en (som i labb 3), två eller tre bytes i taget. Testa för olika typer av filer och se vilken av de tre strategierna som ger bäst komprimering.
Bättre effektivitet
För bättre effektivitet ska du använda en prioritetskö när du bygger Huffmanträdet.