A Huffman féle tömörítő algoritmus

Slides:



Advertisements
Hasonló előadás
A Floyd-Warshall algoritmus
Advertisements

Az MPEG tömörítés.
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Formázás: Az új flopikat, winchestereket, pendrive-kat használat előtt formázni kell! Ma már formázva árulják ezeket, ezért a formázást adattörlésre használjuk.
Jelátalakítás és kódolás
Informatikai alapismeretek Hardver
Az adatábrázolás, adattárolás módja a számítógépekben
Készítette: Major Máté
Készítette: Mester Tamás METRABI.ELTE.  Egy bemeneten kapott szöveg(karakter sorozat) méretét csökkenteni, minél kisebb méretűre minél hatékonyabb algoritmussal.
 Veszteségmentes kódolás  Visszafejtése egyértelmű  Egyik kódszó sem lehet része semelyik másiknak  Lépések:  1.: Statisztika a kódolandó anyagról.
Tóth István Algoritmusok és adatszerkezetek 2.
Készítette: Lakos Péter
Algoritmus és adatszerkezet Tavaszi félév Tóth Norbert1.
Dijkstra algoritmus Irányított gráfban.
Dijkstra algoritmus Baranyás Bence. Feladat Adott egy G=(V,E) élsúlyozott, irányított vagy irányítás nélküli, negatív élsúlyokat nem tartalmazó, véges.
Készítette Schlezák Márton
Sztringek.
7. Óra Tömörítés, csomagolás, kicsomagolás
A hálózati réteg 6. fejezet. Forgalomirányítás A forgalomirányítási algoritmus (routing algorithm) a hálózati réteg szoftverének azon része, amely azért.
Forrás kódolás Feladat: -az információ tömörítése.
Kommunikációs Rendszerek
Készítette: Pető László
Háromszögek szerkesztése 3.
Prím algoritmus.
Huffman Kódolás.
Dijkstra algoritmus. Kiválasszuk a legkisebb csúcsot, ez lesz a kezdőcsúcs, amit 0-val címkézünk és megjelöljük sárgaszínnel. Szomszédjai átcímkézése.
Query-Aware Compression of Join Results Christopher M. Mullins, Lipyeow Lim, Christian A. Lang feldolgozta: Ancsin Attila, Dananaj Pál, Horváth Viktor.
INFORMATIKA Számítógéppel segített minőségbiztosítás (CAQ)
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Microsoft Excel Függvények VIII.
Tömörítő programok.
Mélységi bejárás.
Utórendezéses edényrendezés – RADIX „előre”
Dijkstra algoritmus. Az algoritmus elve Kezdésnél a start csúcson kívül minden csúcs távolsága legyen ∞. (A start csúcs távolsága 0) Feltételes minimum.
Készítette: Lakos Péter.  Adott egy élsúlyozott, véges gráf  Negatív élsúlyokat nem tartalmaz  Lehet irányított vagy irányítatlan  Továbbá adott egy.
Algoritmusok II. Gyakorlat 3. Feladat Pup Márton.
Tömörítés, csomagolás, kicsomagolás
I276 Antal János Benjamin 12. osztály Nyíregyháza, Széchenyi I. Közg. Szki. Huffman kódolás.
A Dijkstra algoritmus.
Készítette: Hanics Anikó. Az algoritmus elve: Kezdetben legyen n db kék fa, azaz a gráf minden csúcsa egy-egy (egy pontból álló) kék fa, és legyen minden.
Dijkstra-algoritmus. A Dijkstra-algoritmus egy mohó algoritmus, amivel irányított gráfokban lehet megkeresni a legrövidebb utakat egy adott csúcspontból.
Kruskal-algoritmus.
Alapfogalmak, módszerek, szoftverek
Példa kettő-három fa felépítésére - törlés művelet Készítette : Krizsai Petra
Informatikai alapismeretek Hardver
Kommunikációs Rendszerek
Egy operációs rendszer könyvtárszerkezete (tárolórendszere)
Adattömörítés.
2005. Információelmélet Nagy Szilvia 3. Forráskódolási módszerek.
Bellmann-Ford Algoritmus
Morvai Mária-Júlia F3D3D4.  Adott egy G=(V,E)élsúlyozott, irányított vagy irányítás nélküli, negatív élsúlyokat nem tartalmazó,véges gráf. Továbbá adott.
DIJKSTRA- ALGORITMUS. A Dijkstra-algoritmus egy mohó algoritmus, amivel irányított vagy irányítás nélküli, negatív élsúlyokat nem tartalmazó, véges gráfokban.
Fájlszervezés Adatbázisok tervezése, megvalósítása és menedzselése.
Készítette : Giligor Dávid Neptun : HSYGGS
Dijkstra algoritmus. Az algoritmus működése  Kezdésnél a kezdő csúcson kívül minden csúcs távolsága legyen ∞, a kezdő csúcs távolsága 0.  Feltételes.
Statisztikai és logikai függvények
Adat és információ. Információ, tudás  A latin informatio = felvilágosítás, tájékoztatás, oktatás szóból  Minden, ami megkülönböztet  Új ismeretté.
Huffman kód.
A Huffman féle tömörítő algoritmus Huffman Kód. Az Algoritmus Alapelvei Karakterek hossza különböző A karakter hossza sűrűsége határozza meg: Minél több.
LZW (Lempel-Ziv-Welch) tömörítő algoritmus
Huffman tömörítés.
LZW tömörítés Akopjan Alex Algoritmusok és adatszerkezetek 2.
Huffman algoritmus Gráf-algoritmusok Algoritmusok és adatszerkezetek II. Gergály Gábor WZBNCH1.
PRÜFER KÓD. Fák kódolása számsorozatokkal Prüfer-kód: n csúcsú fa ↔ n-2 db szám Minden szám 1 és n közötti lehet Kölcsönösen egyértelmű: n csúcsú fák.
1 Műszaki kommunikáció 8. előadás vázlat Dr. Nehéz Károly egyetemi adjunktus Miskolci Egyetem Alkalmazott Informatikai Tanszék.
A Dijkstra algoritmus.
Készítette: Pető László
33.óra Videóformátumok.
INFOÉRA 2006 Szövegfeldolgozás III.
Algoritmusok és Adatszerkezetek I.
Előadás másolata:

A Huffman féle tömörítő algoritmus Huffman kód A Huffman féle tömörítő algoritmus

Az algoritmus alap elvei Karakterek hossza különböző A karakter hossza sűrűsége határozza meg: Minél több előfordulása van a karakternek, annál rövidebb Fa felépítési elve: mohó algoritmus A Huffman tömörítő kód a tömörítések közül, nem ismétlődéseket tömörít, mint az LZW, hanem betűket kisebb helyre próbálja redukálni. Ezekből azokat a karaktereket, amelyek többször ismétlődnek, kisebb részekre próbálja redukálni. Ezt egy bináris fa segítségével oldja meg, amely talán furcsa mód, nem fentről lefelé építi fel, hanem lentről felfelé. Ezt a mohó algoritmus segítségével építi fel.

Az algoritmusban elvégzett lépések Minden karaktert kikeresünk, és megszámoljuk azoknak az előfordulását Felírjuk egymás mellé, és melléírjuk előfordulási számukat A fát felépítjük A levelek legkisebb értékű leveleit összekötjük, és az így keletkezett csúcsba az előfordulás összeget írjuk be Ahhoz, hogy egy fát fel tudjunk építeni, meg kell vizsgálnunk az adott szöveg karaktereit, vagy betűit, és meg kell számolnunk előfordulásukat. (Ezt oly módon lehet megcsinálni, hogy végig megyünk a szövegen betűnként, és ha a listánkon még nem szerepel egy betű, akkor felírjuk, és mindenképpen megnöveljük előfordulási számát.) A betűket ezek után kiírjuk sorban, melléjük az előfordulásuk számát. Kiválasztjuk a két tetszőleges legkisebb értékű gyökeret, és azokat egybe kötjük egy új csúcsba, és ebbe beleírjuk a két összekötött csúcs összegértékét. Ezt addig ismételjük, amíg egy fa nem lesz.

Az algoritmus menete Kakukk madaramnak Ez 48 bit 6 4 2 2 1 1 1 1 2 5 5 16 6 4 Vegyük a következő példát Fekete tanár úr előadásáról: „Kakukk madaramnak”. Következő betűk szerepelnek: K-5; A-5; U-1; M-2; R-1; N-1; D-1. Ebben 7 különböző betű van melyet 3 biten el lehet tárolni. A szöveg hossza 16 betű, tehát ez a szöveg 48 bit. A betűket ezek után kiírjuk sorban, melléjük az előfordulásuk számát. Kiválasztjuk a két tetszőleges legkisebb értékű gyökeret, és azokat egybe kötjük egy új csúcsba, és ebbe beleírjuk a két összekötött csúcs összegértékét. Ezt addig ismételjük, amíg egy fa nem lesz. Megjegyzés: Ebben a példában mi betűkkel fogunk dolgozni, nem karakterekkel. Azért is emlegetem inkább karaktereket, mert programozáskor minden karaktert feldolgozunk. 2 2 10 1 1 1 1 2 5 5 U R N D M K A

A fa gyümölcse 4×(1×4)+2×2+2×(2×5)= 40 bit  83.3% 1 1 1 M K A 1 1 1 U 1 1 M K A 1 Az így kapott fát kiigazítjuk. Ha megszámoljuk, hogy most így mekkora lesz a szövegünk, akkor 40 bit jön ki, ami 83%-a az eredeti szövegünknek. 1 1 4×(1×4)+2×2+2×(2×5)= 40 bit  83.3% U R N D

Pro és kontra Akkor hasznos, ha hosszúak a karakterek tárolása, de keveset használunk LZW sok karakterre hatékonyabb tömörítés Aritmetikus kódolásokhoz használják Nincs szabadalmaztatva, széles körben használják Előfordulásuk: JPEG, MP3 Miért is jó ez az algoritmus, és miért jobb más. <Összehasonlítás LZW és más algoritmusokkal>

<Áttűnéses kilépés>