Suppose you are using the LZW algorithm to encode the message AABCAAAABD contents of the dictionary at the beginning of encoding are: (1) A (2) B (3) C (4) D What string is denoted by code word (7)?

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "BC". Thuật toán LZW nối thêm đúng một ký tự vào cụm đang khớp để tạo mục mới, nên từ điển dài ra từng ký tự một. Mã hoá AABCAAAABD với từ điển đầu là 1 cho A, 2 cho B, 3 cho C, 4 cho D: gặp AA chưa có nên phát mã của A và thêm AA làm mục 5; gặp AB chưa có nên phát mã của A và thêm AB làm mục 6; gặp BC chưa có nên phát mã của B và thêm BC làm mục 7; gặp CA chưa có nên phát mã của C và thêm CA làm mục 8; sau đó AA khớp mục 5, gặp AAA nên thêm AAA làm mục 9; rồi AB khớp mục 6, gặp ABD nên thêm ABD làm mục 10. Vậy mã 7 chỉ cụm BC. Cụm "CA" là mục 8, sinh ra ngay sau BC. Cụm "BCA" dài ba ký tự nên chỉ có thể xuất hiện sau khi BC đã nằm trong từ điển và được khớp lại một lần nữa, điều không xảy ra trong thông điệp này. Cụm "CAA" không bao giờ được thêm vào, mục đứng sau CA là AAA.

Cùng phần 8

Xuất hiện trong 1 bộ đề