KompjûtersYnformaasjetechnology

Huffman koades: foarbylden applikaasje

Op it stuit, pear minsken tinke oer it feit, hoe docht file kompresje. Yn ferliking mei de foarige brûken fan de persoanlike kompjûter hat wurden folle makliker. En hast eltse persoan dwaande mei de triem systeem brûkt triemen. Mar pear minsken tinke oer hoe't se wurkje en op hokker grûn is file kompresje. De hiel earste ferzje fan dit proses wienen de Huffman koades, en se wurde brûkt hjoed yn in ferskaat oan populêre archivers. In protte brûkers net iens tinke hoe maklik triem kompresje fynt plak en it wurdt wurke oan in regeling. Yn dit artikel wolle wy sjogge hoe't de kompresje is wat nuânses help snelheid op en ferienfâldigje it proses fan kodearring, en ek sjen wat it prinsipe fan 'e beam taalkodearjen yn.

Skiednis algoritme

De hiel earste algoritme fan effisjint taalkodearjen fan elektroanyske ynformaasje útgroeid ta in koade Huffman foarstelde al yn de midden fan 'e tweintichste ieu, nammentlik yn 1952. Dat wie dy't op it stuit is de basis elemint fan de mearderheid fan de programma makke om compress de ynformaasje. Op it stuit, ien fan de meast populêre boarnen mei help fan dizze koade binne argiven ZIP, Arj, RAR en in protte oaren. Ek de Huffman algoritme wurdt brûkt om compress JPEG-ôfbyldings en oare grafyske objekten. No, alle Faxes wurde ek mei help fan moderne taalkodearjen, útfûn yn 1952. Nettsjinsteande it feit dat sûnt de oprjochting fan 'e koade naam safolle tiid oant hjoed de dei wurdt it brûkt yn in ferskaat oan nije membranen en de apparatuer âlde en moderne typen.

It prinsipe fan effisjint taalkodearjen

De basis fan de Huffman algoritme befettet in regeling wêrmei jo as ferfanging fan de meast credible, meast faak foarkommend symboalen ynmekoar setten binary systeem. En dyen dy't dat minder faak, ferfongen troch langere koades. Going lang Huffman koades bart pas nei it systeem brûkt al it minimum wearden. Dizze technyk makket it mooglik om minimalisearje de lingte fan de koade foar eltse symboal fan it orizjinele berjocht as gehiel. De wichtich punt is dat oan it begjin fan it taalkodearjen yn kâns fan foarkommen fan 'e brieven moatte wurde al bekend. It is fan harren sil wêze taret en de úteinlike berjocht. Op grûn fan dy gegevens, dat útfierd de oanlis fan 'e Huffman code beam, oan' e hân fan dat hâlden wurdt brieven kodear proses yn it argyf.

Huffman code, foarbyld

Om yllustrearje de algoritme, fine in grafyske fariant fan de oanlis fan 'e koade beam. Om brûke dizze metoade te wêzen effektyf, is it nedich om dúdlikens oer de definysje fan bepaalde wearden nedich foar it konsept fan it proses. De set fan de mearfâldichheid fan knopen en arcs, dy't rjochte út node nei node, neamd grafyk. De beam sels is in grafyk mei in set spesifike eigenskippen:

  • yn elk knooppunt kin net mear as ien fan 'e Arcs;
  • ien fan 'e knopen moat wêze de woartel fan' e beam, dat is, it moat net wêze diel fan de bôge op alle;
  • as de stam begjinne beweecht lâns de arcs, it proses moat tastean te krijen hielendal yn ien fan 'e knopen.

Der is ek sa'n ding, part fan 'e Huffman koades as in blêd fan' e beam. It is in knooppunt dêr't soe net gean gjin bôge. As twa knopen binne ferbûn troch in bôge, ien dêrfan is de âlder fan 'e oare bern, ôfhinklik fan út dat knoop de bôge giet út, en wat is opnaam. As twa knopen hawwe deselde âlder node, se wurde neamd suster sites. As, yn 'e blêden, ferlit út de knopen fan ferskate arcs, dan it hjit in binêr beam. Krekt sa is it Huffman beam. De nuverheden fan de oanlis fan ienheden is dat it gewicht fan elke âlder is lyk oan de som fan de gewichten fan al har bern knopen.

In algoritme foar it oanlizzen fan de beam Huffman

De bou fan it Huffman koade is ynput út 'e brieven fan' e alfabet. Generated in list fan siden dy't frij binne yn de takomst koade beam. It gewicht fan eltse knoop yn de list moat wêze itselde as de kâns fan oerienkomst mei de letters berjochten oerienkommende mei dit knooppunt. Yn dit gefal, de iene dy't waacht it minste is selektearre út ferskate frije plakken fan 'e takomst beam. Yn dit gefal, as it minimum tariven wurde observearre yn ferskate siden, kinne jo frij selektearje ien fan 'e pearen. Dan komt it ta stân kommen fan 'e âlder node, dy't moatte weagje likefolle as de som fan de gewichten fan it pear fan knopen. Dêrnei, âlden stjoere de list mei de frije toiletten, en de bern wurde fuorthelle. Yn dizze bôge binne passend yndikatoaren, bern en nullen. Dit proses wurdt werhelle safolle as nedich te hâlden mar ien knooppunt. Dan skriuwe út de binêre sifers fan boppen nei ûnderen.

It ferbetterjen fan de effisjinsje fan kompresje

Om te ferheegjen fan de kompresje effisjinsje, is it nedich yn beam gebou koade te brûken alle gegevens op 'e kâns dat foarkommen fan' e brieven yn in bepaalde triem, ferbûn oan in beam, en net tastean it feit dat se binne ferspraat oer in grut tal tekst dokuminten. As de pre-kuier troch dizze triem kinne jo fuortendaliks calcular statistiken fan hoe faak binne der brieven fan de foarsjenning ûnderwerp oan de kompresje.

Fersnelling fan de kompresje proses

Om rapper it algoritme, de definysje fan 'e brieven moatte dien wurde net yn termen fan de kâns fan foarkommen fan in bepaald brief, en de frekwinsje fan syn foarkommen. Mei dizze algoritme wurdt makliker, en wurkje mei harren folle flugger. dat ek mijt de operaasjes yn ferbân brocht mei de driuwende-komma-divyzje. Dêrneist wurkje yn dizze modus, de dynamyske Huffman koade, of leaver it algoritme sels is net ûnderwerp foar alle feroarings. Dat komt benammen troch it feit dat de kānsen binne direkt evenredich mei de frekwinsje. It is de muoite wurdich beteljen omtinken oan it feit dat de úteinlike gewicht fan de triem, of de saneamde root node lyk oan de som fan it oantal karakters yn it foarwerp om behannele wurde.

konklúzje

Huffman koades - ienfâldige en lang-fêstige algoritme, dat wurdt noch brûkt troch in protte bekend programma en bedriuwen. Syn ienfâld en dúdlikens berikke kinne effektive resultaten compress triemmen fan in volume en gâns ferminderje de romte op de skiif opslach. Mei oare wurden, it Huffman algoritme - hat lang ûndersocht en wurk diagram hokker urginsje wurdt net redusearre troch dizze dei. En mei de mooglikheid om te ferminderjen de grutte fan de triemmen, oerdrage se oer in netwurk of troch oar betsjut dat it ienfâldiger, fluch en handich. It wurkjen mei de algoritme, kinne jo compress alle ynformaasje folslein sûnder skea oan syn struktuer en kwaliteit, mar mei in maksimale effekt te ferminderjen it gewicht triem. Mei oare wurden, it taalkodearjen yn fan de Huffman koade is en bliuwt de populêrste en relevante metoade fan Komprimearren de triem grutte.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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