ComputersInformatietechnologie

Huffman codes: Toepassingsvoorbeelden

Op dit moment, op een paar mensen denken over het feit, hoe werkt file compressie. In vergelijking met de vorige gebruik van de personal computer is een stuk eenvoudiger geworden. En bijna elke persoon die werkt met het bestandssysteem bestanden. Maar weinig mensen denken over hoe ze werken en op welke basis is bestand compressie. De allereerste versie van dit proces waren de Huffman codes, en ze worden vandaag de dag gebruikt in een verscheidenheid aan populaire archivers. Veel gebruikers zelfs niet denken hoe makkelijk het is gecomprimeerd bestand, en onder welke regeling zij opereert. In dit artikel kijken we naar de manier waarop de compressie is wat nuanceert helpen versnellen en het proces van het coderen te vereenvoudigen, evenals zien wat het principe van de boom codering.

geschiedenis algoritme

Het eerste algoritme efficiënt coderen van elektronische gegevens is uitgegroeid tot een Huffman code voorgesteld zodra het midden van de twintigste eeuw, namelijk in 1952. Hij was het die op het moment is het basiselement van de meeste programma's gemaakt om de informatie te comprimeren. Op dit moment is een van de meest populaire bronnen met behulp van deze code zijn archieven ZIP, ARJ, RAR en vele anderen. Ook wordt de Huffman algoritme voor JPEG-comprimeren en andere grafische objecten. Nou, alle faxen zijn ook met behulp van moderne codering, uitgevonden in 1952. Ondanks het feit dat sinds de oprichting van de code nam zo veel tijd om de dag van vandaag wordt het gebruikt in een verscheidenheid van nieuwe membranen en de apparatuur oude en moderne types.

Het principe van efficiënte codering

De basis van de Huffman algoritme bevat een regeling die het mogelijk maakt om de meest geloofwaardige, vaakst voorkomende symbolen te vervangen gecodeerd binair systeem. En degenen die minder vaak voor, vervangen met langere codes. Long gaan Huffman codes gebeurt alleen nadat het systeem gebruikt alle minimumwaarden. Deze techniek kunt u de lengte van de code te minimaliseren voor elk symbool van het oorspronkelijke bericht als geheel. Het belangrijke punt is dat aan het begin van de codering waarschijnlijkheid van optreden van de brieven al moeten bekend zijn. Het is van hen bereid en de uiteindelijke boodschap zal zijn. Op basis van deze gegevens is uitgevoerd de bouw van de Huffman-code boom, op grond waarvan wordt gehouden letters codeerproces in het archief.

Huffman code, bijvoorbeeld

Om het algoritme te illustreren, overweeg dan een grafische variant van de bouw van de code boom. Deze methode doeltreffend te zijn, moet de definitie van bepaalde waarden die noodzakelijk zijn voor het begrip van de werkwijze te verduidelijken. De groep van het aantal knooppunten en bogen, die zijn gericht van knooppunt naar knooppunt genoemd grafiek. De boom zelf is een grafiek met een aantal specifieke eigenschappen:

  • in elk knooppunt kan ten hoogste één van de bogen omvatten;
  • een van de knooppunten moet de wortel van de boom zijn, dat wil zeggen het moet geen deel van de boog bij allen;
  • Als de steel begint zich langs de bogen, moet het proces volledig laten krijgen in elk van de knooppunten.

Er is ook nog zoiets, een deel van de Huffman codes als een blad van de boom. Het is een knooppunt van waaruit mag geen boog gaan. Indien twee knooppunten zijn verbonden door een boog, een daarvan is de ouder van het andere kind, afhankelijk van welk knooppunt de boog dooft en wat is inbegrepen. Als twee knooppunten hebben dezelfde bovenliggende knooppunt, ze heten zus sites. Indien in de bladeren, vertrekt vanaf de knooppunten van meerdere bogen, dan is er sprake van een binaire boom. Net zo is de Huffman boom. De bijzonderheid van de constructie van de eenheden is dat het gewicht van elke ouder is gelijk aan de som van de gewichten van alle onderliggende knooppunten.

Een algoritme voor de bouw van de boom Huffman

De constructie van de Huffman-code wordt ingevoerd via de letters van het alfabet. Genereerde een lijst met sites die gratis in de toekomst code boom zijn. Het gewicht van elk knooppunt in de lijst moet gelijk zijn aan de waarschijnlijkheid van optreden van de brieven posten overeenkomt met deze node. In dit geval, is degene die het minst weegt gekozen uit verschillende gratis sites van de toekomst boom. In dit geval, als de minimumtarieven in acht worden genomen in verschillende sites, kunt u vrij een van de paren te selecteren. Dan komt de oprichting van de bovenliggende knooppunt, die zo veel moeten wegen als de som van de gewichten van het paar knooppunten. Daarna sturen ouders van de lijst met de gratis toiletten, en de kinderen worden verwijderd. In deze boog zijn passende indicatoren, enen en nullen. Dit proces wordt herhaald zo veel als nodig is om slechts een enkele knoop te houden. Schrijf dan de binaire cijfers van boven naar beneden.

Efficiëntere compressie

Voor het verhogen van de effectiviteit van compressie, is het noodzakelijk tijdens boom gebouw code om gebruik te maken van alle gegevens op de waarschijnlijkheid van het optreden van de letters in een bepaald bestand, verbonden aan een boom, en niet toestaan dat het feit dat ze zijn verspreid over een groot aantal tekstdocumenten. Als de pre-wandeling door dit bestand, kunt u onmiddellijk de statistieken van hoe berekenen vaak zijn er brieven van de inrichting waarop de compressie.

Versnelling van het compressieproces

Het versnellen van de algoritme, dient de definitie van het niets worden gedaan wat betreft de waarschijnlijkheid van optreden van een bepaalde letter en de frequentie van optreden. Met dit algoritme wordt eenvoudiger, en met hen veel sneller. het voorkomt ook de activiteiten in verband met de floating-point divisie. Bovendien vanuit deze stand de dynamische Huffman code, of beter gezegd het algoritme zelf geen enkele verandering. Dit is voornamelijk te wijten aan het feit dat de waarschijnlijkheden zijn recht evenredig met de frequentie. Het is het waard om erop dat het eindgewicht van het bestand of de zogenaamde hoofdknooppunt is gelijk aan de som van het aantal tekens in het te behandelen object.

conclusie

Huffman codes - eenvoudig en lang gevestigde algoritme, die nog steeds wordt gebruikt door vele bekende programma's en bedrijven. De eenvoud en duidelijkheid kunnen bereiken effectieve resultaten te comprimeren van bestanden van elk volume en een aanzienlijke vermindering van de ruimte op de harde schijf opslag. Met andere woorden, de Huffman algoritme - is lang onderzocht en werken diagram die urgentie wordt niet verminderd heden. En met de mogelijkheid om de grootte van de bestanden te verminderen, over te brengen via een netwerk of op een andere manier is het eenvoudig, snel en handig. Werken met het algoritme, kunt u alle gegevens volledig te comprimeren zonder schade aan de structuur en kwaliteit, maar met maximaal effect op het gewicht bestand te verminderen. Met andere woorden, is de codering van de Huffman code is en blijft de meest populaire en relevante methode voor het comprimeren van het bestand.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 nl.unansea.com. Theme powered by WordPress.