Datorer, Informationsteknik
Huffman-koder: exempel ansökan
Just nu är det få människor tycker om det faktum, hur filkomprimering. Jämfört med tidigare användning av persondatorn har blivit mycket enklare. Och nästan varje person som arbetar med filsystemet använder filer. Men få människor tänka på hur de fungerar och på vilka grunder är filkomprimering. Den allra första versionen av denna process var Huffman-koder, och de används idag i en mängd olika populära archi. Många användare vet inte ens tänka på hur lätt filkomprimering sker och det fungerar på ett system. I den här artikeln tittar vi på hur komprimeringen är vad nyanserar att påskynda och förenkla processen för kodning, samt se vad principen om trädet kodning.
historia algoritm
Den allra första algoritmen för effektiv kodning av elektronisk information har blivit en kod Huffman föreslog så tidigt som i mitten av nittonhundratalet, det vill säga 1952. Det var han som just nu är baselementet hos de flesta program som skapats för att komprimera informationen. Just nu, en av de mest populära källorna som använder denna kod är arkiv ZIP, ARJ, RAR och många andra.
Principen om effektiv kodning
Grunden för Huffman-algoritmen har ett system som gör det möjligt att byta ut den mest trovärdiga, oftast förekommande symboler kodade binära systemet. Och de som är mindre vanliga, ersatt med längre koder. Ligga långt Huffman-koder sker endast efter att systemet använder alla minimivärden. Denna teknik gör det möjligt att minimera längden av koden för varje symbol av det ursprungliga meddelandet i sin helhet.
Huffman-kod, t.ex.
För att illustrera algoritmen, överväga en grafisk variant av byggandet av kodträdet. Om du vill använda den här metoden för att vara effektiv, är det nödvändigt att klargöra definitionen av vissa värden som är nödvändiga för begreppet processen. Den uppsättning av nämnda flertal noder och bågar, som är riktade från nod till nod, som kallas grafen. Trädet i sig är en graf med en uppsättning specifika egenskaper:
- i varje nod kan innefatta inte mer än en av bågarna;
- en av noderna måste vara roten av trädet, det vill säga, det bör inte vara en del av bågen alls,
- Om stammen börjar röra sig längs bågarna bör processen gör det möjligt att få helt i någon av noderna.
En algoritm för att konstruera trädet Huffman
Byggandet av Huffman-kod matas in från bokstäverna i alfabetet. Genererat en lista över webbplatser som är fria i framtiden kodträdet. Vikten av varje nod i listan måste vara densamma som sannolikheten för förekomst av bokstäverna inlägg som motsvarar denna nod. I detta fall är den som väger minst vald bland flera fria platser i framtiden trädet. I det här fallet, om de minimipriser observeras i flera platser, kan du fritt välja någon av paren.
Att förbättra effektiviteten av kompressionen
För att öka kompressionseffektiviteten är det nödvändigt under träd byggnad kod för att använda alla data på sannolikheten för förekomst av bokstäverna i en viss fil, fäst vid ett träd, och inte låta det faktum att de är spridda över ett stort antal textdokument. Om pre-promenad genom den här filen, kan du omedelbart beräkna statistik över hur ofta det finns bokstäverna i anläggningen som omfattas av komprimering.
Acceleration av kompressionsprocessen
För att påskynda algoritmen bör definitionen av bokstäverna göras inte i termer av sannolikheten för förekomst av en viss bokstav, och frekvensen av dess förekomst. Med denna algoritm blir lättare, och arbeta med dem mycket snabbare. Det undviker också verksamheten i samband med flyttalsdivision.
slutsats
Huffman koder - enkelt och sedan länge etablerad algoritm, som fortfarande används av många välkända program och företag. Dess enkelhet och tydlighet kan uppnå effektiva resultat komprimera filer av någon volym och avsevärt minska utrymmet på disklagring. Med andra ord, den Huffman-algoritmen - har länge undersökts och arbetsschema som brådska inte reduceras med denna dag.
Similar articles
Trending Now