ترميز هوفمان
برنامج ضغط وفك ضغط C++ يعتمد على ترميز هوفمان.
مقدمة
يهدف هذا المشروع إلى تصميم برامج ضغط وفك ضغط تعتمد على ترميز هوفمان. تتمثل فكرة Huffman Coding في تقليل الطول المتوقع المرجح للكود عن طريق تعيين رموز أقصر للأحرف المستخدمة بشكل متكرر ورموز أطول للكود الذي نادرًا ما يستخدم.
تفاصيل التنفيذ
يمكن للبرامج ضغط وفك ضغط الملفات النصية التي تتكون من 128 حرف ASCII.
ضغط
- فتح ملف الإدخال، وحساب ترددات الأحرف المختلفة وتخزينها؛
- إنشاء قائمة انتظار الأولوية ثم شجرة هوفمان؛
- حساب جدول ترميز هوفمان؛
- قم بتشفير الملف وتخزين Huffman Encode Table وترميزه إلى الملف المطلوب.
تخفيف الضغط
- افتح الملف، وأعد إنشاء شجرة هوفمان بناءً على جدول تشفير هوفمان؛
- قم بفك تشفير الملف بناءً على الشجرة وتخزينه في الملف المطلوب.