การเข้ารหัสของฮัฟฟ์แมน
โปรแกรมบีบอัดและคลายการบีบอัด C++ ที่ใช้ Huffman Coding
การแนะนำ
โปรเจ็กต์นี้คือการออกแบบโปรแกรมการบีบอัดและคลายการบีบอัดโดยใช้ Huffman Coding แนวคิดของการเข้ารหัส Huffman คือการลดความยาวที่คาดไว้ของโค้ดให้เหลือน้อยที่สุดโดยการกำหนดโค้ดที่สั้นกว่าให้กับอักขระที่ใช้บ่อย และโค้ดที่ยาวกว่าให้กับโค้ดที่ไม่ค่อยได้ใช้
รายละเอียดการดำเนินการ
โปรแกรมสามารถบีบอัดและขยายไฟล์ข้อความที่ประกอบด้วยอักขระ ASCII 128 ตัว
การบีบอัด
- เปิดไฟล์อินพุต นับและจัดเก็บความถี่ของอักขระต่างๆ
- สร้าง Priority Queue แล้วตามด้วย Huffman Tree;
- คำนวณตารางเข้ารหัส Huffman
- เข้ารหัสไฟล์ เก็บ Huffman Encode Table และเข้ารหัสเป็นไฟล์ที่ต้องการ
การบีบอัด
- เปิดไฟล์ สร้าง Huffman Tree ขึ้นมาใหม่โดยใช้ Huffman Encode Table
- ถอดรหัสไฟล์ตามแผนผังและจัดเก็บไว้ในไฟล์ที่ต้องการ