Hvad er en præfiks kode?
En præfikskode er den binære kodestruktur, der repræsenterer visse bogstaver eller tegn. Disse kodestrenge bruges af computere til at kommunikere. De består af nuller og dem, der oversættes til bestemte kommandoer eller ord. For eksempel kan bogstavet "A" indeholde en præfikskode på 0, mens tallet 1010 repræsenterer bogstavet "D".
Binære træer bruges til at repræsentere, hvordan numre i numre i præfikskoden oversættes til bestemte bogstaver, tegn eller meddelelser. Mange softwareapplikationer bruger en præfikskode baseret på binære træer til at komprimere deres data. Flere forskellige kombinationer af binær kode er slået sammen til et "træ", der kan indeholde en eller flere meddelelser. Der er normalt en rod, der er repræsenteret af enten en 0 eller 1, der sidestilles med en af tegnene.
Fra roden kan der følges en udvidelse af tal, der oversættes til et andet bogstav. Der kan være flere forskellige grene, der stammer fra det binære træs hovedlinje, der oversættes til separate tegn. Bogstaver eller tegn, der er repræsenteret med et binært ciffer kaldes enkeltbits, mens de, der er repræsenteret med mere end et binært ciffer, kaldes to, tre eller fire bit.
Antallet af bit er direkte relateret til antallet af binære cifre, der repræsenterer et bestemt tegn i en præfikskode. Enkeltbits bruges typisk til tegn, der forekommer flere gange i en meddelelse, mens strenge på to eller flere bit bruges til de bogstaver og tegn, der forekommer sjældent. For eksempel, hvis en præfikskode koder ordet "ubarmhjertig", vil en enkelt bit sandsynligvis repræsentere bogstavet "E".
Ord og meddelelser oprettes normalt ved at placere binær kode sammen, der læses fra venstre til højre for præfikskodens træ. For eksempel kan et binært træ indeholde bogstavet "R", der er repræsenteret af det binære ciffer 0, bogstavet "E", der er repræsenteret af den binære streng 011 og bogstavet "D", der er repræsenteret af den binære streng 0110. I dette tilfælde ville ordet "rød" blive strammet sammen som 00110110.
Ved at bruge præfikskoder kan computere og applikationer spare plads. Da et antal kommandoer og meddelelser bruger de samme bogstaver og tegn, kan de hver især repræsenteres ved bestemte binære kodeoversættelser. Hver for sig kan disse ord muligvis have behov for yderligere lagerplads på grund af den mængde bits, som hver af dem indeholder. Binære træer reducerer mængden af påkrævede bits og øger undertiden lagerpladsen med op til 50 procent.