Demo lzw

38
Princeton University COS 226 Algorithms and Data Structures Spring 2004 Kevin Wayne 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

description

 

Transcript of Demo lzw

Page 1: Demo lzw

Princeton University • COS 226 • Algorithms and Data Structures • Spring 2004 • Kevin Wayne • 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

Page 2: Demo lzw

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

Page 3: Demo lzw

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

Page 4: Demo lzw

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

Page 5: Demo lzw

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

Page 6: Demo lzw

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

Page 7: Demo lzw

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_

Page 8: Demo lzw

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

Page 9: Demo lzw

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

Page 10: Demo lzw

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

Page 11: Demo lzw

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_

Page 12: Demo lzw

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

Page 13: Demo lzw

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_

Page 14: Demo lzw

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

Page 15: Demo lzw

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

Page 16: Demo lzw

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

Page 17: Demo lzw

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

Page 18: Demo lzw

Princeton University • COS 226 • Algorithms and Data Structures • Spring 2004 • Kevin Wayne • http://www.Princeton.EDU/~cos226

LZW Decoding

The input message was taken from:

• http://www-mtl.mit.edu/Courses/6.095/notes/LZW-examples.html

Page 19: Demo lzw

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

Page 20: Demo lzw

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

Page 21: Demo lzw

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

Page 22: Demo lzw

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

Page 23: Demo lzw

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

Page 24: Demo lzw

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

Page 25: Demo lzw

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

Page 26: Demo lzw

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

Page 27: Demo lzw

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

Page 28: Demo lzw

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

Page 29: Demo lzw

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

Page 30: Demo lzw

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

Page 31: Demo lzw

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

Page 32: Demo lzw

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

Page 33: Demo lzw

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

Page 34: Demo lzw

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

Page 35: Demo lzw

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

Page 36: Demo lzw

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

Page 37: Demo lzw

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

Page 38: Demo lzw

38

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