Visa version
Visa
< föregående
Jämför
< föregående
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:
<n> <tecken 1> <frekvens> .. <tecken n> <frekvens> [den komprimerade filen]
där varje <> är ett tal av lämplig storlek.
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.