Till KTH:s startsida Till KTH:s startsida

Visa version

Version skapad av Stefan Nilsson 2017-01-31 18:01

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) eller två bytes i taget. Testa för olika typer av filer och se vilken av dessa strategier 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.