Op dit moment denken maar weinig mensen erover nahoe werkt bestandscompressie. In vergelijking met het verleden is het gebruik van een pc veel eenvoudiger geworden. En bijna iedereen die met het bestandssysteem werkt, gebruikt archieven. Maar weinig mensen denken na over hoe ze werken en volgens welk principe bestandscompressie plaatsvindt. Huffman-codes werden de allereerste versie van dit proces en ze worden nog steeds gebruikt in verschillende populaire archiveringsprogramma's. Veel gebruikers denken niet eens na over hoe eenvoudig de bestandscompressie is en met welk schema het werkt. In dit artikel zullen we bekijken hoe compressie plaatsvindt, welke nuances helpen bij het versnellen en vereenvoudigen van het coderingsproces, en we zullen ook begrijpen wat het principe van het bouwen van een coderingsboom is.
Het allereerste algoritme voor effectief uitvoerencodering van elektronische informatie was de code die Huffman in het midden van de twintigste eeuw voorstelde, namelijk in 1952. Hij is op dit moment het belangrijkste basiselement van de meeste programma's die zijn ontworpen om informatie te comprimeren. Momenteel is een van de meest populaire bronnen die deze code gebruiken ZIP, ARJ, RAR en vele andere.
Het Huffman-algoritme is gebaseerd op een circuit,zodat u de meest waarschijnlijke, meest voorkomende tekens kunt vervangen door binaire systeemcodes. En degenen die minder vaak voorkomen, worden vervangen door langere codes. De overgang naar lange Huffman-codes vindt pas plaats nadat het systeem alle minimumwaarden heeft gebruikt. Met deze techniek kunt u de codelengte voor elk teken van het oorspronkelijke bericht als geheel minimaliseren.
Neem om het algoritme te illustrerengrafische versie van de codeboomconstructie. Om deze methode effectief te gebruiken, is het de moeite waard om de definitie te verduidelijken van enkele waarden die nodig zijn voor het concept van deze methode. De set van veel bogen en knooppunten die van knooppunt naar knooppunt worden geleid, wordt een grafiek genoemd. De boom zelf is een grafiek met een reeks specifieke eigenschappen:
Huffman-code is gemaakt van lettersinvoer alfabet. Er wordt een lijst gevormd met de knooppunten die vrij zijn in de toekomstige codeboom. Het gewicht van elk knooppunt in deze lijst moet hetzelfde zijn als de kans dat een berichtletter overeenkomt met dat knooppunt. Bovendien wordt onder de weinige vrije knooppunten van de toekomstige boom degene geselecteerd die het minst weegt. Bovendien, als de minimumindicatoren in verschillende knooppunten worden waargenomen, kunt u vrijelijk een van de paren kiezen.
Om de compressie-efficiëntie te verhogen, moet uhet is tijd om een codeboom te bouwen om alle gegevens te gebruiken met betrekking tot de waarschijnlijkheid dat letters verschijnen in een bepaald bestand dat aan de boom is gekoppeld en niet toe te staan dat ze over een groot aantal tekstdocumenten worden verspreid. Als u dit bestand voor het eerst doorloopt, kunt u onmiddellijk de statistieken berekenen van hoe vaak letters van het te comprimeren object worden gevonden.
Om het algoritme te versnellen, de definitie van lettershet is noodzakelijk om niet te leiden door de indicatoren van de waarschijnlijkheid van het verschijnen van een letter, maar door de frequentie van het voorkomen ervan. Hierdoor wordt het algoritme eenvoudiger en wordt het werken aanzienlijk versneld. Dit vermijdt ook drijvende-komma- en delingsbewerkingen.
Huffman-codes - Eenvoudig en lang gemaakteen algoritme dat nog steeds wordt gebruikt door veel bekende programma's en bedrijven. Zijn eenvoud en begrijpelijkheid maken het mogelijk om effectieve resultaten te bereiken van bestandscompressie van elke grootte en de ruimte die ze op de opslagschijf innemen aanzienlijk te verminderen. Met andere woorden, het Huffman-algoritme is een lang bestudeerd en ontwikkeld schema, waarvan de relevantie tot op de dag van vandaag niet afneemt.