Προς το παρόν, λίγοι άνθρωποι σκέφτονται το γεγονός,πώς λειτουργεί η συμπίεση. Σε σύγκριση με το παρελθόν, η χρήση προσωπικού υπολογιστή έχει γίνει πολύ πιο εύκολη. Και σχεδόν κάθε άτομο που εργάζεται με το σύστημα αρχείων χρησιμοποιεί αρχεία. Αλλά λίγοι άνθρωποι σκέφτονται για το πώς λειτουργούν και για ποια αρχή είναι η συμπίεση αρχείων. Η πρώτη έκδοση αυτής της διαδικασίας ήταν οι κώδικες Huffman, και εξακολουθούν να χρησιμοποιούνται σε διάφορους δημοφιλείς αρχειοθέτες. Πολλοί χρήστες δεν σκέφτονται καν πόσο εύκολο είναι να συμπιέσει το αρχείο και σύμφωνα με το σύστημα που λειτουργεί. Σε αυτό το άρθρο θα εξετάσουμε πώς η συμπίεση είναι ό, τι αποχρώσεις συμβάλει στην επιτάχυνση και την απλοποίηση της διαδικασίας κωδικοποίησης, καθώς και να δούμε ποια είναι η αρχή της κωδικοποίησης δέντρο.
Ιστορία του αλγορίθμου
Ο πρώτος αλγόριθμος για μια αποτελεσματικήη κωδικοποίηση των ηλεκτρονικών πληροφοριών ήταν ο κώδικας που προτάθηκε από τον Huffman στα μέσα του εικοστού αιώνα, δηλαδή το 1952. Αυτή τη στιγμή είναι το βασικό βασικό στοιχείο των περισσότερων προγραμμάτων που δημιουργήθηκαν για τη συμπίεση πληροφοριών. Προς το παρόν, μία από τις πιο δημοφιλείς πηγές που χρησιμοποιούν αυτόν τον κώδικα είναι αρχεία ZIP, ARJ, RAR και πολλά άλλα.
Η αρχή της αποτελεσματικής κωδικοποίησης
Η βάση για τον αλγόριθμο Huffman είναι ένα σχήμα,Επιτρέπει την αντικατάσταση των πλέον πιθανών συμβόλων, τα οποία συναντώνται συχνότερα, με κωδικούς ενός δυαδικού συστήματος. Και αυτά που είναι λιγότερο κοινά αντικαθίστανται από μακρύτερους κώδικες. Η μετάβαση σε μακρούς κωδικούς Huffman συμβαίνει μόνο αφού το σύστημα χρησιμοποιεί όλες τις ελάχιστες τιμές. Αυτή η τεχνική σας επιτρέπει να ελαχιστοποιήσετε το μήκος του κώδικα για κάθε χαρακτήρα του αρχικού μηνύματος στο σύνολό του.
Ο κώδικας του Huffman, παράδειγμα
Για να απεικονίσουμε τον αλγόριθμο, ας πάρουμεμια γραφική έκδοση της κατασκευής ενός δέντρου κώδικα. Για να χρησιμοποιήσετε αυτή τη μέθοδο ήταν αποτελεσματική, αξίζει να διευκρινιστεί ο ορισμός ορισμένων αξιών που είναι απαραίτητες για την έννοια αυτής της μεθόδου. Το σύνολο τόξων και κόμβων που κατευθύνονται από κόμβο σε κόμβο ονομάζεται συνήθως γράφημα. Το ίδιο το δέντρο είναι ένα γράφημα με ένα σύνολο συγκεκριμένων ιδιοτήτων:
- σε κάθε κόμβο δεν μπορεί να εισέλθει περισσότερο από ένα από τα τόξα?
- ένας από τους κόμβους πρέπει να είναι η ρίζα του δέντρου, δηλαδή δεν πρέπει να εισέλθει καθόλου τόξο.
- εάν από τη ρίζα για να αρχίσει να κινούνται κατά τόξα, αυτή η διαδικασία θα πρέπει να επιτρέπει την πλήρη είσοδο σε οποιονδήποτε από τους κόμβους.
Αλγόριθμος για την κατασκευή ενός δέντρου σύμφωνα με τον Huffman
Η κατασκευή του κώδικα Huffman γίνεται με γράμματατου αλφαβήτου εισαγωγής. Εμφανίζεται μια λίστα με τους κόμβους εκείνους που είναι ελεύθεροι στο μελλοντικό δέντρο κώδικα. Το βάρος κάθε κόμβου σε αυτόν τον κατάλογο πρέπει να είναι ίδιο με την πιθανότητα εμφάνισης του γράμματος του μηνύματος που αντιστοιχεί σε αυτόν τον κόμβο. Στην περίπτωση αυτή, ανάμεσα στους λίγους ελεύθερους κόμβους του μελλοντικού δέντρου, επιλέγεται εκείνος που ζυγίζει λιγότερο. Ταυτόχρονα, εάν παρατηρηθούν οι ελάχιστοι δείκτες σε διάφορους κόμβους, τότε είναι δυνατόν να επιλέξετε ελεύθερα οποιοδήποτε από τα ζεύγη.
Βελτίωση της αποτελεσματικότητας της συμπίεσης
Για να αυξηθεί η απόδοση συμπίεσης, είναι απαραίτητο νακατά τη διάρκεια δέντρο κωδικό κτιρίου να χρησιμοποιήσει όλα τα δεδομένα σχετικά με την πιθανότητα εμφάνισης των γραμμάτων σε ένα συγκεκριμένο αρχείο, που συνδέεται με ένα δέντρο, και να μην επιτρέψει το γεγονός ότι είναι διασκορπισμένες σε ένα μεγάλο αριθμό εγγράφων κειμένου. Εάν η προ-πόδια μέσα από αυτό το αρχείο, μπορείτε να υπολογίσετε άμεσα τα στατιστικά στοιχεία του πόσο συχνά υπάρχουν επιστολές των εγκαταστάσεων που υπόκεινται σε συμπίεση.
Επιτάχυνση της διαδικασίας συμπίεσης
Για να επιταχύνει τον αλγόριθμο, ο ορισμός των γραμμάτωνΕίναι απαραίτητο να μην πραγματοποιούνται δείκτες πιθανότητας εμφάνισης αυτού ή του γράμματος και της συχνότητας εμφάνισής του. Χάρη σε αυτό, ο αλγόριθμος καθίσταται απλούστερος και η συνεργασία με αυτό επιταχύνεται σημαντικά. Αυτό επίσης αποφεύγει τις λειτουργίες που σχετίζονται με τα κυμαινόμενα κόμματα και τη διαίρεση.
Συμπέρασμα
Οι κώδικες του Huffman - απλοί και μακροχρόνιοιαλγόριθμο, ο οποίος εξακολουθεί να χρησιμοποιείται από πολλές γνωστές προγράμματα και τις επιχειρήσεις. απλότητα και σαφήνεια της μπορούν να επιτύχουν ικανοποιητικά αποτελέσματα συμπιέσει τα αρχεία του κάθε όγκου και να μειώσει σημαντικά το χώρο για την αποθήκευση στο δίσκο. Με άλλα λόγια, ο αλγόριθμος Huffman - έχει από καιρό διερευνηθεί και διάγραμμα Εργασία, η οποία επείγοντος δεν μειώνεται από αυτή την ημέρα.