Lý Thuyết Đồ Thị là môn học thú vị, giúp sinh viên có cơ hội làm quen với những bài toán cùng nhiều thuật toán đồ thị ứng dụng cao trong thực tế…, qua đó nâng cao khả năng lập trình cho sinh viên. Trong đó phương pháp mã hóa Huffman là một ví dụ, đây là một trong những phương pháp nén hay đã có nhiều công trình nghiên cứu ứng dụng của nó vào thực tiễn. Vì vậ , em chọn đề tài để báo cáo.
Trang 6 Bài toán
Cho một tập các ký hiệu Hãy mã hóa các
ký hiệu này bằng dãy các chữ số 0, 1
thoả mãn tính chất tiền tố, nghĩa là không
có mã của ký hiệu nào lại là tiền tố của
mã của ký hiệu khác
Trang 7 Cách thực hiện
Xây dựng một cây nhị phân sao cho:
- Mỗi ký hiệu tương ứng với một lá,
- Cạnh xuống con trái của một đỉnh được gán nhãn 0
- Cạnh đi xuống con phải được gán nhãn 1
Khi đó, dãy các nhãn trên đường đi từ gốc đến lá sẽ cho
mã tiền tố của ký hiệu tương ứng
Cây nhị phân xây dựng như trên được gọi là cây mã tiền tố
Trang 8 Các cây mã tiền tố:
Các bộ mã tiền tố nhận được là:
Trang 12 Bộ mã Huffman
Bài toán: Có một bản tin là dãy các ký hiệu lấy trong một tập hữu hạn A Mỗi ký hiệu xuất hiện trong bản tin theo một tần suất đã biết Hãy xây dựng bộ mã tiền tố cho tập A sao cho độ dài
chuỗi mã của bản tin là ngắn nhất
là bộ mã Huffman.
Trang 15Xét bản tin gồm 1000 ký hiệu trong tập ký hiệu
A = {a, b, c, d, e} với tần suất xuất hiện của
các ký hiệu trong bản tin như sau: