lzw encoding
DESCRIPTION
LZW Encoding. The input message was taken from: http://www-mtl.mit.edu/Courses/6.095/notes/LZW-examples.html. Input. Send. LZW Encoding. SEND. 256. i. 105. t. 116. Dictionary. t. 116. Index. Word. Index. Word. y. 121. 0. 258. it. _. 32. …. 259. tt. b. 98. i. 32. _. - PowerPoint PPT PresentationTRANSCRIPT
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
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Send
116
116
121
32
98
258
260
i
Input
t
t
y
_
b
t
t
y
_
262b
i
258t
i
_
266
b
i
110n
257STOP
256SEND
3
LZW Encoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Send
116
116
121
32
98
258
260
i
Input
t
t
y
_
b
t
t
y
_
262b
i
258t
i
_
266
b
i
110n
257STOP
256SEND
4
LZW Encoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Send
116
116
121
32
98
258
260
i
Input
t
t
y
_
b
t
t
y
_
262b
i
258t
i
_
266
b
i
110n
257STOP
256SEND
it
5
LZW Encoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Send
116
116
121
32
98
258
260
i
Input
t
t
y
_
b
t
t
y
_
262b
i
258t
i
_
266
b
i
110n
257STOP
256SEND
tt
6
LZW Encoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Send
116
116
121
32
98
258
260
i
Input
t
t
y
_
b
t
t
y
_
262b
i
258t
i
_
266
b
i
110n
257STOP
256SEND
ty
7
LZW Encoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Send
116
116
121
32
98
258
260
i
Input
t
t
y
_
b
t
t
y
_
262b
i
258t
i
_
266
b
i
110n
257STOP
256SEND
y_
8
LZW Encoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Send
116
116
121
32
98
258
260
i
Input
t
t
y
_
b
t
t
y
_
262b
i
258t
i
_
266
b
i
110n
257STOP
256SEND
_b
9
LZW Encoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Send
116
116
121
32
98
258
260
i
Input
t
t
y
_
b
t
t
y
_
262b
i
258t
i
_
266
b
i
110n
257STOP
256SEND
bi
10
LZW Encoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Send
116
116
121
32
98
258
260
i
Input
t
t
y
_
b
t
t
y
_
262b
i
258t
i
_
266
b
i
110n
257STOP
256SEND
itt
11
LZW Encoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Send
116
116
121
32
98
258
260
i
Input
t
t
y
_
b
t
t
y
_
262b
i
258t
i
_
266
b
i
110n
257STOP
256SEND
ty_
12
LZW Encoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Send
116
116
121
32
98
258
260
i
Input
t
t
y
_
b
t
t
y
_
262b
i
258t
i
_
266
b
i
110n
257STOP
256SEND
_bi
13
LZW Encoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Send
116
116
121
32
98
258
260
i
Input
t
t
y
_
b
t
t
y
_
262b
i
258t
i
_
266
b
i
110n
257STOP
256SEND
it_
14
LZW Encoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Send
116
116
121
32
98
258
260
i
Input
t
t
y
_
b
t
t
y
_
262b
i
258t
i
_
266
b
i
110n
257STOP
256SEND
_bin
15
LZW Encoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Send
116
116
121
32
98
258
260
i
Input
t
t
y
_
b
t
t
y
_
262b
i
258t
i
_
266
b
i
110n
257STOP
256SEND
16
LZW Encoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Send
116
116
121
32
98
258
260
i
Input
t
t
y
_
b
t
t
y
_
262b
i
258t
i
_
266
b
i
110n
257STOP
256SEND
17
105
Send
116
116
121
32
98
258
260
i
Input
t
t
y
_
b
t
t
y
_
262b
i
258t
i
_
266
b
i
110n
257STOP
256SEND
LZW Encoding
Words
Original
Message
18
Compression Achieved
Bits / word
8
Total
144
LZW message 14 9 126
19
LZW Decoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Received
116
116
121
32
98
260
262
i
Input
t
t
y
_
b
t
t
y
_
258
b
i
t
258 i
266 _
b
i
110 n
257 STOP
256 SEND
20
LZW Decoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Received
116
116
121
32
98
260
262
i
Input
t
t
y
_
b
t
t
y
_
258
b
i
t
258 i
266 _
b
i
110 n
257 STOP
256 SEND
21
LZW Decoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Received
116
116
121
32
98
260
262
i
Input
t
t
y
_
b
t
t
y
_
258
b
i
t
258 i
266 _
b
i
110 n
257 STOP
256 SEND
22
LZW Decoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Received
116
116
121
32
98
260
262
i
Input
t
t
y
_
b
t
t
y
_
258
b
i
t
258 i
266 _
b
i
110 n
257 STOP
256 SEND
23
LZW Decoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Received
116
116
121
32
98
260
262
i
Input
t
t
y
_
b
t
t
y
_
258
b
i
t
258 i
266 _
b
i
110 n
257 STOP
256 SEND
24
LZW Decoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Received
116
116
121
32
98
260
262
i
Input
t
t
y
_
b
t
t
y
_
258
b
i
t
258 i
266 _
b
i
110 n
257 STOP
256 SEND
25
LZW Decoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Received
116
116
121
32
98
260
262
i
Input
t
t
y
_
b
t
t
y
_
258
b
i
t
258 i
266 _
b
i
110 n
257 STOP
256 SEND
26
LZW Decoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Received
116
116
121
32
98
260
262
i
Input
t
t
y
_
b
t
t
y
_
258
b
i
t
258 i
266 _
b
i
110 n
257 STOP
256 SEND
27
LZW Decoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Received
116
116
121
32
98
260
262
i
Input
t
t
y
_
b
t
t
y
_
258
b
i
t
258 i
266 _
b
i
110 n
257 STOP
256 SEND
28
LZW Decoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Received
116
116
121
32
98
260
262
i
Input
t
t
y
_
b
t
t
y
_
258
b
i
t
258 i
266 _
b
i
110 n
257 STOP
256 SEND
29
LZW Decoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Received
116
116
121
32
98
260
262
i
Input
t
t
y
_
b
t
t
y
_
258
b
i
t
258 i
266 _
b
i
110 n
257 STOP
256 SEND
30
LZW Decoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Received
116
116
121
32
98
260
262
i
Input
t
t
y
_
b
t
t
y
_
258
b
i
t
258 i
266 _
b
i
110 n
257 STOP
256 SEND
31
LZW Decoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Received
116
116
121
32
98
260
262
i
Input
t
t
y
_
b
t
t
y
_
258
b
i
t
258 i
266 _
b
i
110 n
257 STOP
256 SEND
32
LZW Decoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Received
116
116
121
32
98
260
262
i
Input
t
t
y
_
b
t
t
y
_
258
b
i
t
258 i
266 _
b
i
110 n
257 STOP
256 SEND
33
LZW Decoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Received
116
116
121
32
98
260
262
i
Input
t
t
y
_
b
t
t
y
_
258
b
i
t
258 i
266 _
b
i
110 n
257 STOP
256 SEND
34
LZW Decoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Received
116
116
121
32
98
260
262
i
Input
t
t
y
_
b
t
t
y
_
258
b
i
t
258 i
266 _
b
i
110 n
257 STOP
256 SEND
35
LZW Decoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Received
116
116
121
32
98
260
262
i
Input
t
t
y
_
b
t
t
y
_
258
b
i
t
258 i
266 _
b
i
110 n
257 STOP
256 SEND
36
LZW Decoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Received
116
116
121
32
98
260
262
i
Input
t
t
y
_
b
t
t
y
_
258
b
i
t
258 i
266 _
b
i
110 n
257 STOP
256 SEND
37
LZW Decoding
Word
_
a
b
z
0
Index
…
32
…
97
98
122
SEND
…
256
STOP257
…
it
Word
tt
ty
y_
_b
bi
ty_
_bi
it_
_bin
258
Index
259
260
261
262
263
265
266
267
268
itt264
Dictionary
105
Received
116
116
121
32
98
260
262
i
Input
t
t
y
_
b
t
t
y
_
258
b
i
t
258 i
266 _
b
i
110 n
257 STOP
256 SEND