Vad är en prefixkod?
Ett prefixkod är den binära kodstrukturen som representerar vissa bokstäver eller tecken. Dessa kodsträngar används av datorer för att kommunicera. De består av nollor och sådana som översätts till vissa kommandon eller ord. Till exempel kan bokstaven "A" innehålla en prefixkod på 0 medan siffran 1010 representerar bokstaven "D".
Binära träd används för att representera hur strängar av siffror i prefixkoden översätter till vissa bokstäver, tecken eller meddelanden. Många mjukvaruapplikationer använder ett prefixkod baserat på binära träd för att komprimera sina data. Flera olika kombinationer av binär kod slås samman till ett "träd" som kan innehålla ett eller flera meddelanden. Det finns vanligtvis en rot som representeras av antingen en 0 eller 1 som likställs med en av tecknen.
Från roten kan en förlängning av siffror följas som översätts till en annan bokstav. Det kan finnas flera olika grenar som härrör från det binära trädets huvudlinje som översätter till separata tecken. Bokstäver eller tecken som representeras av en binär siffra kallas enkla bitar, medan de som representeras av mer än en binär siffra kallas två, tre eller fyra bitar.
Antalet bitar är direkt relaterat till antalet binära siffror som representerar ett visst tecken i ett prefixkod. Enstaka bitar används vanligtvis för tecken som förekommer flera gånger i ett meddelande, medan strängar med två eller flera bitar används för de bokstäver och tecken som förekommer sällan. Om till exempel en prefixkod kodar ordet "obeveklig", kommer en enda bit troligen att representera bokstaven "E".
Ord och meddelanden skapas vanligtvis genom att placera binär kod ihop som läses från vänster till höger om prefixkodens träd. Till exempel kan ett binärt träd innehålla bokstaven "R" som representeras av den binära siffran 0, bokstaven "E" som representeras av den binära strängen 011 och bokstaven "D" som representeras av den binära strängen 0110. I detta fall skulle ordet "röd" strängas samman som 00110110.
Genom att använda prefixkoder kan datorer och applikationer spara utrymme. Eftersom ett antal kommandon och meddelanden använder samma bokstäver och tecken, kan var och en representeras av vissa binära kodöversättningar. Separat kan dessa ord behöva extra lagringsutrymme på grund av mängden bitar som var och en av dem innehåller. Binära träd minskar mängden erforderliga bitar, ibland ökar lagringsutrymmet med upp till 50 procent.