정리필요2

HW No. 2

ShineWithMe 2008. 9. 2. 15:24

1. 빈도수가 다음과 같을 때 Huffman code를 생성하시오.

colon: 100

space: 605

newline: 100

comma: 705

0: 431

1: 242

2: 176

3: 59

4: 185

5: 250

6: 174

7: 199

8: 205

9: 217




풀이 → 위 그림은 주어진 빈도수로 허프만트리를 그린 것이다. (계산틀렸다. 1014->1214, 1937->2137, 3448->3648....크흑...)

빈도수 대로 나열하여, 가변길이 코드를 부여하면

문자

빈도수

가변길이코드

comma

705

00

space

605

110

0

431

100

5

250

1011

1

242

1010

9

217

0111

8

205

0110

7

199

0101

4

185

0100

2

176

11111

6

174

11110

colon

100

11100

newline

100

111011

3

59

111010

2. 다음 문자를 포함하는 파일을 Lempel-Ziv 사용하여 부호화(숫자는 이진으로 표시) 하시오.

1) "aaabbcbcdddeab"

인덱스:0 1 2 3 4 5 6 7 8

0|a|aa|b|bc|bcd|d|de|ab

인덱스: 1 2 3 4 5 6 7 8

0a|1a|0b|3c|4d|0d|6e|1b

<a>1<a>00<b>11<c>100<d>000<d>110<e>001<b>

2) "I AM SAM. SAM I AM."

인덱스:0 1 2 3 4 5 6 7 8 9 10 11

0|I| |A|M| S|AM|.| SA|M |I |AM.

인덱스: 1 2 3 4 5 6 7 8 9 10 11

|0I|0 |0A|0M|2S|3M|0.|5A|4 |1 |6.

<I>0< >00<A>00<M>010<S>011<M>000<.>101<A>1000< >0001< >0110<.>

3. 1) 다음의 Lempel-Ziv로 부호화된 파일을 decoding하시오.

|0M|0A|0K|0E|0 |0L|2K|4 |0F|7E|

MAKE LAKE FAKE

2) 원래 메시지의 비트 수

14*8 = 112비트

3)부호화된 메시지의 비트 수

(10*8) + (0+1+2*2+3*4+4*2) = 105비트