Δομές Δεδομένων και Αλγόριθμοι



Σχετικά έγγραφα
7ο ΕΡΓΑΣΤΗΡΙΟ AAAABBBBAAAAABBBBBBCCCCCCCCCCCCCCBBABAAAABBBBBBCCCCD

Κατηγορίες Συμπίεσης. Συμπίεση με απώλειες δεδομένων (lossy compression) π.χ. συμπίεση εικόνας και ήχου

Συμπίεση χωρίς Απώλειες

Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο

Δομές Δεδομένων & Αλγόριθμοι

Θεωρία Πληροφορίας. Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

Κωδικοποίηση Πηγής. Η λειτουργία ενός συστήματος επικοινωνίας (γενικό διάγραμμα):

Πληροφορική Ι. Μάθημα 9 ο Συμπίεση δεδομένων. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Δρ.

Συμπίεση Δεδομένων

Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών. Ένα στοιχείο γράφεται ως, όπου κάθε.

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μαθήματα 6 και 7 Αναπαράσταση της Πληροφορίας στον Υπολογιστή. 1 Στέργιος Παλαμάς

Δομές Δεδομένων και Αλγόριθμοι

Τηλεπικοινωνιακά Συστήματα ΙΙ

Κωδικοποίηση Πηγής. Δρ. Α. Πολίτης

ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣ. Κεφάλαιο 3 : Πηγές Πληροφορίας Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 9: Άπληστοι Αλγόριθμοι. Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Τμήμα Πληροφορικής ΑΠΘ

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 9 : Συμπίεση δεδομένων. Δρ. Γκόγκος Χρήστος

Θέματα Υπολογισμού στον Πολιτισμό - Δένδρα. Δένδρα

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

Θεωρία τησ Πληροφορίασ (Θ) ΔΙΔΑΚΩΝ: Δρ. Αναςτάςιοσ Πολίτησ

Τεχνολογία Πολυμέσων. Ενότητα # 9: Κωδικοποίηση εντροπίας Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 7 και 8: Αναπαραστάσεις. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

Επεξεργασία Πολυµέσων. Δρ. Μαρία Κοζύρη Π.Μ.Σ. «Εφαρµοσµένη Πληροφορική» Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο Θεσσαλίας

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ

Λύσεις Ασκήσεων ΣΕΙΡΑ 1 η. Πρόσημο και μέγεθος

ΠΛΗ21 Κεφάλαιο 2. ΠΛΗ21 Ψηφιακά Συστήματα: Τόμος Α Κεφάλαιο: 2 Δυαδική Κωδικοποίηση

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ.

Εισαγωγή στην επιστήμη των υπολογιστών. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ και Μετατροπές Αριθμών

Κώδικες µεταβλητού µήκους

Αρχές κωδικοποίησης. Τεχνολογία Πολυµέσων 08-1

Παραδείγματα σχεδίασης με μηχανές πεπερασμένων καταστάσεων

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 2ο Αναπαράσταση Δεδομένων

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 5 o Φροντιστήριο

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

Θεωρία Πληροφορίας. Διάλεξη 5: Διακριτή πηγή πληροφορίας με μνήμη. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Συμπίεση Δεδομένων Δοκιμής (Test Data Compression) Νικολός Δημήτριος, Τμήμα Μηχ. Ηλεκτρονικών Υπολογιστών & Πληροφορικής, Παν Πατρών

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΑΣΚΗΣΗ 5 Ανάπτυξη Προγράμματος Συμπίεσης/Αποσυμπίεσης Αρχείων

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

Τετάρτη 5-12/11/2014. ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

Πληροφορική. Ενότητα 4 η : Κωδικοποίηση & Παράσταση Δεδομένων. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Δομές Δεδομένων και Αλγόριθμοι

Δυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε:

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Μάθημα 4 ο Πράξεις με bits. Δρ.

ΤΕΧΝΟΛΟΓΙΕΣ ΠΟΛΥΜΕΣΩΝ

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ΠΛΗ111. Ανοιξη Μάθηµα 7 ο. έντρο. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

Φύλλο εργασίας για την κωδικοποίηση

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Μάθημα 2: Παράσταση της Πληροφορίας

Ανάκτηση Πληροφορίας

DIP_06 Συμπίεση εικόνας - JPEG. ΤΕΙ Κρήτης

Ενότητα 1. Γνωρίζω τον υπολογιστή ως ενιαίο σύστημα

Εισαγωγή στον Προγραμματισμό

Θεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος

Θεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr

Συστήματα Αρίθμησης. Συστήματα Αρίθμησης 1. PDF created with FinePrint pdffactory Pro trial version

ΟιβασικέςπράξειςπουορίζουντονΑΤΔ δυαδικό δέντρο αναζήτησης είναι οι ακόλουθες:

Δομές Δεδομένων. Ενότητα 9: Τα ΔΔΑ ως Αναδρομικές Δομές Δεδομένων-Εφαρμογή Δυαδικών Δέντρων: Κωδικοί Huffman. Καθηγήτρια Μαρία Σατρατζέμη

Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Εισαγωγή στην επιστήμη των υπολογιστών

Σύστημα αρίθμησης. Τρόπος αναπαράστασης αριθμών Κάθε σύστημα αρίθμησης έχει μία βάση R

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

[2] Υπολογιστικά συστήματα: Στρώματα. Τύποι δεδομένων. Μπιτ. επικοινωνία εφαρμογές λειτουργικό σύστημα προγράμματα υλικό

Θεωρία τησ Πληροφορίασ (Θ) ΔΙΔΑΚΩΝ: Δρ. Αναςτάςιοσ Πολίτησ

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Κεφάλαιο 2. Συστήματα Αρίθμησης και Αναπαράσταση Πληροφορίας. Περιεχόμενα. 2.1 Αριθμητικά Συστήματα. Εισαγωγή

Τεχνολογία Πολυμέσων. Ενότητα # 7: Θεωρία πληροφορίας Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Θεώρημα κωδικοποίησης πηγής

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Αναπαράσταση δεδομένων

Μετάδοση Πολυμεσικών Υπηρεσιών Ψηφιακή Τηλεόραση

Δομές Δεδομένων και Αλγόριθμοι

Αριθμητικά Συστήματα = 3 x x x x 10 0

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Κ15 Ψηφιακή Λογική Σχεδίαση 2: Δυαδικό Σύστημα / Αναπαραστάσεις

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΗ ΑΣΚΗΣΗ 2

ΠΛΗ21 Κεφάλαιο 2. ΠΛΗ21 Ψηφιακά Συστήματα: Τόμος Α Κεφάλαιο: Παράσταση Προσημασμένων Αριθμών Συμπληρώματα

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 3 : Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ.

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 2ο Αναπαράσταση Δεδομένων

Δομές Δεδομένων Ενότητα 4

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

Θέματα Συστημάτων Πολυμέσων

Δένδρα. Μαθηματικά (συνδυαστικά) αντικείμενα. Έχουν κεντρικό ρόλο στην επιστήμη των υπολογιστών :

Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης

Γράφημα. Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 4 5 πλήθος κορυφών πλήθος ακμών

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι ΨΗΦΙΑΚΗ ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ. Δρ.

Πληροφορική 2. Δομές δεδομένων και αρχείων

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Συμβολοσειρές. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Όρια Αλγόριθμων Ταξινόμησης. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

έντρα ιδάσκοντες:. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

Κεφάλαιο 2. Οργάνωση και διαχείριση της Πληροφορίας στον. Υπολογιστή

Transcript:

Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 20 Huffman codes 1 / 12

Κωδικοποίηση σταθερού μήκους Αν χρησιμοποιηθεί κωδικοποίηση σταθερού μήκους δηλαδή όλα τα σύμβολα έχουν κωδικοποίηση με το ίδιο μήκος m και το πλήθος των συμβόλων που πρέπει να κωδικοποιηθούν είναι n τότε ισχύει ότι m = log 2 n Παραδείγματα κωδικοποιήσεων σταθερού μήκους είναι η κωδικοποίηση ASCII (8 bits) και η κωδικοποίηση UNICODE (16 bits) Η κωδικοποίηση Huffman δεν είναι κωδικοποίηση σταθερού μήκους 2 / 12

Απόσπασμα κωδικοποίησης ASCII http://www3amherstedu/~jcook15/binarycodehtml 3 / 12

Κωδικοποίηση μεταβλητού μήκους - ο κώδικας Morse http://enwikipediaorg/wiki/morse_code Ο κώδικας Morse προτάθηκε από τον Samuel Morse στα μέσα του 19ου αιώνα και χρησιμοποιήθηκε στον τηλέγραφο Κάθε χαρακτήρας αναπαρίσταται από μια μοναδική ακολουθία από τελείες και παύλες Η διάρκεια κάθε παύλας είναι τριπλάσια της διάρκειας κάθε τελείας Κάθε τελεία ή παύλα ακολουθείται από μια παύση ίση με τη διάρκεια της τελείας Το συνηθέστερο γράμμα της Αγγλικής αλφαβήτου, το Ε, έχει και τη συντομότερη κωδικοποίηση, μια τελεία Γράμματα όπως το Υ που δεν είναι συχνά σε τυπικά κείμενα στην αγγλική γλώσσα έχουν κωδικοποιήσεις με μεγαλύτερο μήκος 4 / 12

Η κωδικοποίηση Huffman Η κωδικοποίηση Huffman προτάθηκε από τον David Huffman το 1952 και στηρίζεται στην ιδέα της αντιστοίχισης μικρότερων σε μήκος κωδικοποιήσεων σε συχνά εμφανιζόμενα σύμβολα και μεγαλύτερων σε μήκος κωδικοποιήσεων σε λιγότερο συχνά εμφανιζόμενα σύμβολα Συνεπώς πρόκειται για μια κωδικοποίηση μεταβλητού μήκους Τυπικοί λόγοι συμπίεσης που επιτυγχάνονται με τη κωδικοποίηση Huffman είναι από 20% έως 80% 5 / 12

Το πρόβλημα της κωδικοποίησης μεταβλητού μήκους Πως μπορούμε να γνωρίζουμε πόσα bits του κωδικοποιημένου μηνύματος αντιστοιχούν στο πρώτο σύμβολο, πόσα στο δεύτερο σύμβολο κοκ; Για παράδειγμα η ακόλουθη κωδικοποίηση Α 0 Β 1 Γ 01 Δ 10 Ε 11 δε μπορεί να χρησιμοποιηθεί για να αντιστοιχηθεί μονοσήμαντα μια ακολουθία δυαδικών ψηφίων όπως η 011011 στα κατάλληλα σύμβολα καθώς μπορεί να αποκωδικοποιηθεί ως ΓΔΕ (01-10-11), ΑΕΓΒ (0-11-01-1), ΑΒΒΑΕ (0-1-1-0-11), 6 / 12

Κωδικοποίηση μεταβλητού μήκους ελεύθερη από προθέματα - prefix free Κανένας κωδικός δε θα πρέπει να αποτελεί πρόθεμα άλλου κωδικού Αυτό επιτυγχάνεται με αναπαράσταση των συμβόλων δημιουργώντας σταδιακά ένα δυαδικό δένδρο στο οποίο οι αριστερές ακμές αναπαρίστανται με μηδέν και οι δεξιές ακμές αναπαρίστανται με ένα (ή και αντίστροφα) Η δημιουργία του δένδρου γίνεται με τον αλγόριθμο του Huffman Σε μια prefix free κωδικοποίηση, μια ακολουθία δυαδικών ψηφίων εξετάζεται από αριστερά προς τα δεξιά μέχρι να βρεθεί η πρώτη υποακολουθία δυαδικών ψηφίων που αποτελεί κωδικοποίηση για κάποιο σύμβολο Στη συνέχεια αντικαθίσταται η υποακολουθία με το σύμβολο και η διαδικασία επαναλαμβάνεται μέχρι το τέλος της ακολουθίας δυαδικών ψηφίων 7 / 12

Αλγόριθμος του Huffman για την κωδικοποίηση ενός αλφαβήτου με n σύμβολα 1 Αρχικοποίηση n κόμβων Κάθε κόμβος έχει ως βάρος τη συχνότητα εμφάνισης του αντίστοιχου συμβόλου 2 Εύρεση των 2 κόμβων με τα μικρότερα βάρη και δημιουργία νέου κόμβου με βάρος το άθροισμα των βαρών των 2 κόμβων και αριστερό και δεξιό παιδί το καθένα από τους 2 κόμβους Η διαδικασία επαναλαμβάνεται μέχρι όλοι οι κόμβοι να ενσωματωθούν σε ένα δυαδικό δένδρο Η κωδικοποίηση κάθε συμβόλου προκύπτει διαβάζοντας τα δυαδικά ψηφία που βρίσκονται πάνω στις ακμές διανύοντας το δένδρο από την κορυφή προς το αντίστοιχο σύμβολο που αποτελεί φύλλο του δένδρου 8 / 12

Παράδειγμα κωδικοποίησης Huffman (1/2) Έστω ένα αλφάβητο με τα 5 σύμβολα Α, Β, Γ, Δ, Ε με συχνότητες εμφάνισης του κάθε συμβόλου 035, 01, 02, 02, 015 αντίστοιχα Κωδικοποίηση σταθερού μήκους Σε περίπτωση που επιλέγει κωδικοποίηση σταθερού μήκους απαιτούνται τουλάχιστον 3 bits για κάθε σύμβολο καθώς το πλήθος των συμβόλων είναι 5 Μια πιθανή κωδικοποίηση μπορεί να είναι η ακόλουθη: Α 000, Β 001, Γ 010, Δ 011, Ε 100 Κωδικοποίηση Huffman Σε περίπτωση που επιλεγεί η κωδικοποίηση Huffman μια κωδικοποίηση μπορεί να είναι η ακόλουθη: Α 00, Β 011, Γ 10, Δ 11, Ε 010 Το αναμενόμενο μήκος ανά χαρακτήρα ισούται με τα άθροισμα των γινομένων που προκύπτουν πολλαπλασιάζοντας για κάθε χαρακτήρα το μήκος σε bits της κωδικοποίησης του επί τη συχνότητα εμφάνισης του αντίστοιχου χαρακτήρα Άρα το αναμενόμενο μέσο μήκος ανά χαρακτήρα του παραδείγματος είναι 2*035 + 3*01 + 2*02 + 2*02 +3*015 = 225 Ο δε λόγος συμπίεσης στο συγκεκριμένο παράδειγμα είναι 3 225 3 = 025 9 / 12

Παράδειγμα κωδικοποίησης Huffman (2/2) Καθώς δεν υπάρχει κάποιο μονοπάτι από την ρίζα προς ένα φύλλο που να συνεχίζει σε άλλο φύλλο του δένδρου δεν μπορεί μια κωδικοποίηση να αποτελεί προοίμιο (prefix) μιας άλλης κωδικοποίησης 10 / 12

Δυναμική κωδικοποίηση Huffman Τυπικά, στην κωδικοποίηση Huffman πραγματοποιείται προ-επεξεργασία των δεδομένων στην οποία υπολογίζεται η συχνότητα εμφάνισης του κάθε συμβόλου Στη συνέχεια κατασκευάζεται το δένδρο Huffman Ωστόσο, μαζί με το κωδικοποιημένο μήνυμα πρέπει να περιλαμβάνεται και ένα λεξικό που θα περιέχει την κωδικοποίηση κάθε συμβόλου που έχει προκύψει έτσι όπως αποτυπώνεται στο δένδρο Huffman Προκειμένου να μην αποθηκεύεται η κωδικοποίηση του δένδρου στο κείμενο κωδικοποίησης η κωδικοποίηση μπορεί να ενημερώνεται κάθε φορά που προστίθεται ένα νέο σύμβολο Αλγόριθμοι που υλοποιούν αυτή την ιδέα είναι ο αλγόριθμος Vitter και ο αλγόριθμος FGK Οι τεχνικές αυτές είναι γνωστές ως dynamic ή adaptive κωδικοποιήσεις Huffman και βρίσκουν εφαρμογή σε περιπτώσεις που δεν είναι γνωστή εκ των προτέρων η κατανομή των συμβόλων που πρέπει να κωδικοποιηθούν 11 / 12

Εφαρμογές της κωδικοποίησης Huffman Η κωδικοποίηση Huffman επιτρέπει τη μη απωλεστική (lossless) συμπίεση δεδομένων Χρησιμοποιείται σε διάφορα μορφότυπα συμπίεσης gzip, pkzip, bzip2 κα Χρησιμοποιείται σε διάφορα μορφότυπα εικόνων όπως το jpeg και το png Χρησιμοποιείται στη συμπίεση ήχου mp3 Η κωδικοποίηση Huffman βρίσκει εφαρμογή σε προβλήματα που μπορούν να μοντελοποιηθούν ως δένδρα απόφασης (decision trees) 12 / 12