Huffman-koding
Utseende
Huffman-koding er en måte å komprimere digital informasjon som ikke inngår tap av informasjon, gjerne brukt i komprimerte bildefiler.
Hvert symbol, eller piksel i bilde, blir representert med kodeord av ulik lengde, på den måten at de symboler som oppstår oftest har kortest kodeord. Metoden ble utviklet av David A. Huffman, og er basert på Shannon-Fano-algoritmen.
Huffman-algoritmen kan blant annet beskrives slik:
- Tell opp antall forekomster av hvert symbol
- Sorter symbolene etter antall forekomster
- Slå sammen de to symbolene med minst forekomster i en gruppe, og sorter igjen
- Gjenta punkt 3 til det bare er to grupper igjen
- Representer denne grupperingen ved hjelp av et binært tre. Hver gren/forgrening blir tildelt 0-bit eller 1-bit
- Sekvensen av biter fra roten til hver løvnode i treet, gir Huffman-koden.