Robert Sedgewick and Kevin Wayne • Copyright © 2005 • http://www.Princeton.EDU/~cos226
LZW Encoding
The input message was taken from:http://www-mtl.mit.edu/Courses/6.095/notes/LZW-examples.html
2
LZW Encoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Send
1161161213298
258
260
i
Input
tty_b
tty_
262bi
258t
i
_
266bi
110n257STOP
256SEND
3
LZW Encoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Send
1161161213298
258
260
i
Input
tty_b
tty_
262bi
258t
i
_
266bi
110n257STOP
256SEND
4
LZW Encoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Send
1161161213298
258
260
i
Input
tty_b
tty_
262bi
258t
i
_
266bi
110n257STOP
256SEND
it
5
LZW Encoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Send
1161161213298
258
260
i
Input
tty_b
tty_
262bi
258t
i
_
266bi
110n257STOP
256SEND
tt
6
LZW Encoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Send
1161161213298
258
260
i
Input
tty_b
tty_
262bi
258t
i
_
266bi
110n257STOP
256SEND
ty
7
LZW Encoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Send
1161161213298
258
260
i
Input
tty_b
tty_
262bi
258t
i
_
266bi
110n257STOP
256SEND
y_
8
LZW Encoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Send
1161161213298
258
260
i
Input
tty_b
tty_
262bi
258t
i
_
266bi
110n257STOP
256SEND
_b
9
LZW Encoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Send
1161161213298
258
260
i
Input
tty_b
tty_
262bi
258t
i
_
266bi
110n257STOP
256SEND
bi
10
LZW Encoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Send
1161161213298
258
260
i
Input
tty_b
tty_
262bi
258t
i
_
266bi
110n257STOP
256SEND
itt
11
LZW Encoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Send
1161161213298
258
260
i
Input
tty_b
tty_
262bi
258t
i
_
266bi
110n257STOP
256SEND
ty_
12
LZW Encoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Send
1161161213298
258
260
i
Input
tty_b
tty_
262bi
258t
i
_
266bi
110n257STOP
256SEND
_bi
13
LZW Encoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Send
1161161213298
258
260
i
Input
tty_b
tty_
262bi
258t
i
_
266bi
110n257STOP
256SEND
it_
14
LZW Encoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Send
1161161213298
258
260
i
Input
tty_b
tty_
262bi
258t
i
_
266bi
110n257STOP
256SEND
_bin
15
LZW Encoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Send
1161161213298
258
260
i
Input
tty_b
tty_
262bi
258t
i
_
266bi
110n257STOP
256SEND
16
LZW Encoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Send
1161161213298
258
260
i
Input
tty_b
tty_
262bi
258t
i
_
266bi
110n257STOP
256SEND
17
105
Send
1161161213298
258
260
i
Input
tty_b
tty_
262bi
258t
i
_
266bi
110n257STOP
256SENDLZW Encoding
WordsOriginalMessage
18
Compression AchievedBits / word
8Total144
LZW message 14 9 126
Robert Sedgewick and Kevin Wayne • Copyright © 2005 • http://www.Princeton.EDU/~cos226
LZW Decoding
19
LZW Decoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Received
1161161213298
260
262
i
Input
tty_b
tty_
258bit
258 i
266 _bi
110 n257 STOP
256 SEND
20
LZW Decoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Received
1161161213298
260
262
i
Input
tty_b
tty_
258bit
258 i
266 _bi
110 n257 STOP
256 SEND
21
LZW Decoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Received
1161161213298
260
262
i
Input
tty_b
tty_
258bit
258 i
266 _bi
110 n257 STOP
256 SEND
22
LZW Decoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Received
1161161213298
260
262
i
Input
tty_b
tty_
258bit
258 i
266 _bi
110 n257 STOP
256 SEND
23
LZW Decoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Received
1161161213298
260
262
i
Input
tty_b
tty_
258bit
258 i
266 _bi
110 n257 STOP
256 SEND
24
LZW Decoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Received
1161161213298
260
262
i
Input
tty_b
tty_
258bit
258 i
266 _bi
110 n257 STOP
256 SEND
25
LZW Decoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Received
1161161213298
260
262
i
Input
tty_b
tty_
258bit
258 i
266 _bi
110 n257 STOP
256 SEND
26
LZW Decoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Received
1161161213298
260
262
i
Input
tty_b
tty_
258bit
258 i
266 _bi
110 n257 STOP
256 SEND
27
LZW Decoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Received
1161161213298
260
262
i
Input
tty_b
tty_
258bit
258 i
266 _bi
110 n257 STOP
256 SEND
28
LZW Decoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Received
1161161213298
260
262
i
Input
tty_b
tty_
258bit
258 i
266 _bi
110 n257 STOP
256 SEND
29
LZW Decoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Received
1161161213298
260
262
i
Input
tty_b
tty_
258bit
258 i
266 _bi
110 n257 STOP
256 SEND
30
LZW Decoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Received
1161161213298
260
262
i
Input
tty_b
tty_
258bit
258 i
266 _bi
110 n257 STOP
256 SEND
31
LZW Decoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Received
1161161213298
260
262
i
Input
tty_b
tty_
258bit
258 i
266 _bi
110 n257 STOP
256 SEND
32
LZW Decoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Received
1161161213298
260
262
i
Input
tty_b
tty_
258bit
258 i
266 _bi
110 n257 STOP
256 SEND
33
LZW Decoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Received
1161161213298
260
262
i
Input
tty_b
tty_
258bit
258 i
266 _bi
110 n257 STOP
256 SEND
34
LZW Decoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Received
1161161213298
260
262
i
Input
tty_b
tty_
258bit
258 i
266 _bi
110 n257 STOP
256 SEND
35
LZW Decoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Received
1161161213298
260
262
i
Input
tty_b
tty_
258bit
258 i
266 _bi
110 n257 STOP
256 SEND
36
LZW Decoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Received
1161161213298
260
262
i
Input
tty_b
tty_
258bit
258 i
266 _bi
110 n257 STOP
256 SEND
37
LZW Decoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Received
1161161213298
260
262
i
Input
tty_b
tty_
258bit
258 i
266 _bi
110 n257 STOP
256 SEND
38
LZW Decoding
Word
_
ab
z
0Index
…32…9798
122
SEND…
256STOP257
…
itWord
tttyy__bbi
ty__biit_
_bin
258Index
259260261262263
265266267268
itt264
Dictionary105
Received
1161161213298
260
262
i
Input
tty_b
tty_
258bit
258 i
266 _bi
110 n257 STOP
256 SEND