1 [Kinh nghiệm]Làm việc với mã Huffman Sat Jun 04, 2011 10:04 pm
Admin
Quản trị viên
Mã Huffman
1. Cây Huffman- Lá là các ký tự
- Mỗi nút lưu:
+ Ký tự
+ Số lần xuất hiện
- Đường đi từ gốc đến lá là mã của ký tự.
2. Giải thuật mã hoá văn bản sử dụng cây huffman
- Đạt n ký tự của văn bản vào n nút lá.
- Tạo danh sách gồm n ký tự và số lần xuất hiện.
- Lặp lại quá trình sau, cho đến khi trong danh sách chỉ còn 1 phần tử.
+ Chọn 2 phần tử có tần số (số lần) xuất hiện ít nhất.
+ tạo nút mới:
* Số lần xuất hiện bằng tổng số lần xuất hiện 2 phàn tử đã chọn.
* Con trái: Là nút ứng với phần tử có số lần xuất hiện nhỏ
* Con phải: Là nút ứng với phần tử có số lần xuất hiện lớn
+ Thay 2 phần tử đã chọn trong danh sách bằng 1 phần tử có số lần xuất hiện bằng tổng.
- Xác định đường đi từ gốc tới lá biểu diễn nó bằng xâu nhị phân theo quy tắc:
+ Sang trái: bit 0
+ sang phải: bit 1
Xâu nhị phân thu được chính là mã tương ứng với ký tự ở lá đó.
- Tính tổng số bít cần để mã hoá văn bản
[You must be registered and logged in to see this image.] số bit mã hoá x số lần xuất hiện