Till KTH:s startsida Till KTH:s startsida

Visa version

Version skapad av Stefan Nilsson 2017-01-31 17:59

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> <frekvens> .. <tecken> <frekvens> [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.