edited by
5,760 views
17 17 votes
A language uses an alphabet of six letters, $\left\{a, b, c, d, e, f\right\}$. The relative frequency of use of each letter of the alphabet in the language is as given below: $$\begin{array}{|ll|ll|}\hline & \text{LETTER}  & \text{RELATIVE FREQUENCY OF USE}\\\hline &\ a &\ 0.19  \\ &\ b &\ 0.05  \\ &\ c &\ 0.17  \\ &\ d &\ 0.08  \\&\ e &\ 0.40 \\ &\ f &\ 0.11  \\\hline \end{array}$$Design a prefix binary code for the language which would minimize the average length of the encoded words of the language.

3 Answers

Best answer
26 26 votes

$a-0.19,b-0.05, c-0.17,d-0.08,e-0.40,f-0.11$

Since it is relative frequency we can multiply each with $100$ and result remains the same.

$a-19,b-5, c-17,d-8,e-40,f-11$

For Assigning prefix binary code lets first create the Huffman tree

$(1) \ a-19,{\color{Red} {b-5} },c-17,{\color{Red} {d-8} },e-40,f-11$

$(2) \ a-19,{\color{Red} {(b,d)-13} },c-17,e-40,{\color{Red} {f-11} }$

$(3) \ {\color{Red} {a-19} },(b,d,f)-24,{\color{Red} {c-17} },e-40$

$(4) \ {\color{Red} {(a,c)-36,(b,d,f)-24}},e-40$

$(5) \ {\color{Red} {(a,b,c,d,f)-60,e-40}}$

Now put $0$ on each of the left edges and $1$ on each of the right edges as shown below

$\text{Prefix code}$ = Traverse from the root node to the leaf node and write the symbol $(1 \  or \ 0)$ present on each edge.

  • For $a$ the prefix code is $111$  i.e. $3$ bits
  • For $b$ the prefix code is $1010$ i.e. $4$ bits
  • For $c$ the prefix code is $110$ i.e. $3$ bits
  • For $d$ the prefix code is $1011$ i.e. $4$ bits
  • For $e$ the prefix code is $0$ i.e. $1$ bits
  • For $f$ the prefix code is $100$ i.e. $3$ bits

And the average length of encoded words $=\dfrac{(19\times 3)+(5\times 4)+(17\times 3)+(8\times 4)+(40\times 1)+(11\times 3)}{100}$

$\quad =\dfrac{57+20+51+32+40+33}{100}$

$\quad =\dfrac{233}{100}$

$\quad =2.33$

selected by
6 6 votes

Huffman coding is to find prefix of letters,is to compress the message size over ASCII code.

To find length of encoded message find Huffman tree and sum of all internal nodes gives the message length.

First find minimum tress in the forest and remove it add to huffman tree.Add two minimum trees and add in the forest.

Repeat this procedure until forest become single tree.

Length of message=1+0.60+0.24+0.36+0.13

                            =2.33

moved by
Answer:
Position:
Show:

Related questions

51 51 votes
6 answers 6 answers
13.5k
13.5k views
Misbah Ghaya asked Nov 29, 2016
13,504 views
How many substrings (of all lengths inclusive) can be formed from a character string of length $n$? Assume all characters to be distinct, prove your answer.
25 25 votes
4 answers 4 answers
9.0k
9.0k views
Misbah Ghaya asked Dec 15, 2016
9,015 views
Find a solution to the following recurrence equation:$T(n)=\sqrt{n}+T\left(\frac{n}{2}\right)$$T(1)=1$
21 21 votes
1 answers 1 answer
10.1k
10.1k views
Misbah Ghaya asked Dec 3, 2016
10,061 views
An input files has $10$ records with keys as given below:$25\quad 7\quad 34\quad 2\quad 70\quad 9\quad 61\quad 16\quad 49\quad 19$This is to be sorted in non-decre...
7 7 votes
2 answers 2 answers
2.7k
2.7k views
Misbah Ghaya asked Dec 3, 2016
2,737 views
What is the output produced by the following program, when the input is "HTGATE"Function what (s:string): string; var n:integer; begin n = s.length if n <= 1 then what :=...