Όπως είχα πει και παλιότερα, ετοιμάζω ένα πρόγραμμα για συμπίεση δεδομένων με τον αλγόριθμο Huffman. Το project τελείωσε εδώ και καιρό, αλλά τώρα βρήκα το χρόνο να το ανεβάσω για οποίον ενδιαφερόμενο.
Μερικές πληροφορίες σχετικά με το πρόγραμμα.
Το πρόγραμμα χρησιμοποιεί standard βιβλιοθήκες πράγμα που το κάνει να τρέχει (λογικά) σε όλα τα λειτουργικά συστήματα. Είναι γραμμένο σε ANSI C και δεν βγάζει κανένα Warning κατά το Compilation. Η βιβλιοθήκες που χρησιμοποιεί είναι τρεις, stdio.h stdlib.h time.h. Για την δημιουργία του Huffman Tree χρησιμοποιείται ένας σταθερός πινάκας από δομές πράγμα που σημαίνει οτι δεν υπάρχει πρόβλημα από memory leaks. Το περιβάλλον που χρησιμοποιήθηκε για την ανάπτυξη της εφαρμογής είναι το Code::Blocks στο λειτουργικό σύστημα Ubuntu Linux.
Η Εφαρμογή μπορεί να συμπιέζει μεγάλα αρχεία όλων των ειδών όπως κείμενα, εικόνες, βίντεο, binary κτλ. Μεγαλύτερο Compression Ratio πετυχαίνει σε αρχεία κειμένου.
Η εφαρμογή διατίθεται κάτω απο την GPL κυρίως για εκπαιδευτικούς λογούς.
-Ίσως στο μέλλον η εφαρμογή βελτιωθεί σε πολλά σημεία όπως είναι η χρήση linked lists, και νημάτων. Εαν γίνει κάτι τέτοιο θα χρησιμοποιηθούν pthreads, άρα η εφαρμογή θα τρέχει μόνο σε Linux.
DOWNLOAD:
Huffman Compression Version 0.1 (ZIP)