Báo cáo tiểu luận Nén DỮ LIỆU HUFFMAN

36 908 9
Báo cáo tiểu luận Nén DỮ LIỆU HUFFMAN

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Báo cáo tiểu luận Nén DỮ LIỆU HUFFMAN Hầu hết các tập tin trong máy tính có nhiều thông tin dư thừa Nén tập tin thực chất là mã hóa lại thông tin dư thừa Tầm quan trọng: Giảm kích thước dữ liệu: Để lưu trữ. Truyền dữ liệu. Tăng tính bảo mật.

LOGO Nén DỮ LiỆU HUFFMAN Học viên: Nguyễn Thị Thu Hà Báo cáo tiểu luận: Thông tin: Môn: Mật mã và an toàn dữ liệu GVHD: PGS. TS. Trịnh Nhật Tiến COMPANY LOGO Nội dung chính IV. Nén và giải nén III. Xây dựng Cây Huffman II. Ý tưởng Nén dữ liệu Huffman I. Giới thiệu về nén và giải nén V. Cài đặt chương trình COMPANY LOGO I. Giới thiệu chung về nén và giải nén  Giới thiệu chung:  Hầu hết các tập tin trong máy tính có nhiều thông tin dư thừa  Nén tập tin thực chất là mã hóa lại thông tin dư thừa I. GIỚI THIỆU CHUNG VỀ NÉN VÀ GIẢI NÉN  Tầm quan trọng:  Giảm kích thước dữ liệu:  Để lưu trữ.  Truyền dữ liệu.  Tăng tính bảo mật. COMPANY LOGO  Tác giả:  Được đề xuất bởi David A. Huffman khi còn là sinh viên.  Công bố năm 1952 trong bài báo "A Method for the Construction of Minimum - Redundancy Codes“  Sau này Huffman trở thành giảng viên của Đại học California II. Ý tưởng Nén DỮ LiỆU huffman II. Ý tưởng nén dữ liệu Huffman COMPANY LOGO II. Ý tưởng NÉN DỮ LiỆU huffman Để lưu trữ dữ liệu trong máy tính, ta phải mã hóa chúng. Ví dụ, trong bộ mã ASCII nổi tiếng ra đời năm 1967, người ta dùng 8 bit để mã hóa 1 ký tự, cụ thể như: “A” = 1000001 “B” = 1000010 “C” = 1000011 Vậy, với bộ mã ASCII, chúng ta có thể mã hóa 28 = 256 ký tự, với mỗi từ mã dài 8 bit.  Mã hóa dữ liệu II. Ý tưởng nén dữ liệu Huffman COMPANY LOGO II. Ý tưởng NÉN DỮ LiỆU huffman  Ví dụ: Giả sử có dữ liệu sau: “ma hoa huffman” Ký tự Tần số Mã Số bit SD m 2 1101101 16 a 3 1100001 24 2 0100000 16 h 2 1101000 16 o 1 1101111 8 u 1 1110101 8 f 2 1100110 16 n 1 1101110 8 Tổng cộng: Dùng 112 bit II. Ý tưởng nén dữ liệu Huffman COMPANY LOGO II. Ý tưởng nén dữ liệu huffman Ký tự Tần số Mã Số bit SD m 2 1101101 16 a 3 1100001 24 2 0100000 16 h 2 1101000 16 o 1 1101111 8 u 1 1110101 8 f 2 1100110 16 n 1 1101110 8 Tổng cộng: dùng 42 bit Ký tự Tần số Mã Số bit SD m 2 000 6 a 3 001 9 2 010 6 h 2 011 6 o 1 100 3 u 1 101 3 f 2 110 6 n 1 111 3 Xét thấy: Chuỗi có 8 ký tự = 23, nên ta chỉ cần dùng 3 bit cho mỗi ký tự là đủ để mã hóa. COMPANY LOGO II. Ý tưởng nén dữ liệu huffman Tổng cộng: dùng 28 bit Ký tự Tần số Mã Số bit SD m 2 000 6 a 3 001 9 2 010 6 h 2 011 6 o 1 100 3 u 1 101 3 f 2 110 6 n 1 111 3 Ngoài ra: Ký tự o xuất hiện 1 lần và ký tự a xuất hiện 3 lần đều dùng 3 bit như nhau. Huffman nghĩ ra phương án ký tự nào xuất hiện nhiều lần thì nên dùng số bit ít, ký tự nào xuất hiện ít thì có thể mã hóa bằng từ mã dài hơn. Ký tự Tần số Mã Số bit SD m 2 00 4 a 3 0 3 2 01 4 h 2 10 4 o 1 000 3 u 1 001 3 f 2 11 4 n 1 010 3 II. Ý tưởng nén dữ liệu Huffman COMPANY LOGO II. Ý tưởng nén dữ liệu huffman Tuy nhiên, nếu mã hóa với độ dài thay đổi, thì khi giải mã ta làm thế nào phân biệt được xâu bít nào là mã hóa của ký hiệu nào? Một trong các giải pháp là dùng các dấu phẩy (“,”) để tách từ mã của các kí tự đứng cạnh nhau. Nhưng như thế số các dấu phẩy sẽ chiếm một không gian đáng kể trong bảng mã. Và mã tiền tố là giải pháp phù hợp trong trường hợp này. Ký tự Tần số Mã Số bit SD m 2 00 4 a 3 0 3 2 01 4 h 2 10 4 o 1 000 3 u 1 001 3 f 2 11 4 n 1 010 3 00010 là mn? mah? hmh? aan? … 00,0,10 là mah II. Ý tưởng nén dữ liệu Huffman COMPANY LOGO II. Ý tưởng nén dữ liệu huffman  Mã tiền tố là gì??  Nếu mã hóa “A”=0, “B”=01, “C”=11 thì bộ từ mã này không là mã tiền tố. Vì từ mã của “A” là tiền tố của từ mã của “B”.  Nếu mã hóa “A”=0, “B”=10, “C”=11 thì bộ mã này là mã tiền tố. Khi đó, để mã hóa xâu “ACB” ta có 01110.  Xây dựng và biểu diễn mã tiền tố Được xây dựng và biểu diễn bằng cây nhị phân gọi là cây Huffman II. Ý tưởng nén dữ liệu Huffman . 1 n 1u 1 a 2 f 2 h 2 m 2 null 2 Sắp xếp lại mảng cây null 3 III. Xây dựng cây Huffman III. Xây dựng cây huffman COMPANY LOGO IV. Minh họa thuật toán 1 n 1 u 1 a 2 f 2 h 2 m 2 null 2 Tiếp tục. cây huffman COMPANY LOGO IV. Minh họa thuật toán 1 n 1 u 1 a 2 f 2 h 2 m 2 null 2 Tiếp tục xây dựng cây mới null 3 null 4 null 4 III. Xây dựng cây Huffman COMPANY LOGO 1 n 1 u 1 a 2 f 2 h 2 m 2 null 2 Tiếp. Xây dựng cây huffman COMPANY LOGO 1 n 1 u 1 a 2 f 2 h 2 m 2 null 2 Tiếp tục chọn 2 phần tử đầu của mảng cây để tạo cây cha mới null 3 III. Xây dựng cây Huffman III. Xây dựng cây huffman COMPANY

Ngày đăng: 19/10/2014, 21:33

Từ khóa liên quan

Mục lục

  • Slide 1

  • Nội dung chính

  • Slide 3

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • III. Xây dựng cây huffman

  • III. Xây dựng cây huffman

  • III. Xây dựng cây huffman

  • III. Xây dựng cây huffman

  • III. Xây dựng cây huffman

  • IV. Minh họa thuật toán

  • III. Xây dựng cây huffman

  • IV. Minh họa thuật toán

  • III. Xây dựng cây huffman

  • III. Xây dựng cây huffman

Tài liệu cùng người dùng

Tài liệu liên quan