Presentation
on
Greedy Algorithm (Optimal merge
pattern – Huffman coding)
Md. Monirul Alom - 162422011 (Group Leader)
Md. Moshiur Rahman Khan - 162422507
Md. Jahangir Alam - 162422004
Md. Rokan Uzzaman - 163432024
Md. Sanowar Hossain - 163432021
Md. Raisul Islam Ripon - 163432027
1
Greedy Algorithm
Greedy Algorithm finds the optimal solution from
the set of feasible solutions
2
X → Y
Possible solutions:
S1: Go by feet (walking)
S2: Go by bus
S3: Go by train
S4: Go by flight
….
….
Sn: There may be n solutions
3
X → Y
Possible solutions:
S1: Go by feet (walking)
S2: Go by bus
S3: Go by train
S4: Go by flight
….
….
Sn: There may be n solutions
Feasible solutions:
S3: Go by train
S4: Go by flight
8 hours
4
X → Y
Possible solutions:
S1: Go by feet (walking)
S2: Go by bus
S3: Go by train
S4: Go by flight
….
….
Sn: There may be n solutions
Feasible solutions:
S3: Go by train
S4: Go by flight
Optimal Solution:
S3: Go by train (Costs less)
5
Optimal merge pattern
A B
3 5
8 9
12 11
20 16
C
3
5
8
9
11
12
16
20
m n
4 4
Complexity: ϴ(m+n) = 8
6
List A B C D
Size 6 5 2 3
A
6
B
5
C
2
D
3
11
13
16
Cost = 11+13+16 = 40
7
List A B C D
Size 6 5 2 3
A
6
B
5
C
2
D
3
11 5
16
Cost = 11+5+16 = 32
8
List A B C D
Size 6 5 2 3
A
6
B
5
C
2
D
3
16
10
5
Cost = 5+10+16 = 31
9
List A B C D E
Size 6 5 2 3 7
C
2
D
3
B
5
A
6
E
7
Sorted in ascending order
10
List A B C D E
Size 6 5 2 3 7
C
2
D
3
B
5
A
6
E
7
5
10
23
13
11
List A B C D E
Size 6 5 2 3 7
C
2
D
3
B
5
A
6
Cost
5+10+13+23 = 51
E
7
5
10
23
13
2*3+3*3+5*2+6*2+7*2 = 51
12
Huffman Coding
Message: BCCABBDDAECCBBAEDDCC
Character
A
B
C
D
E
Length: 20
Size: 20*8 = 160 bits
13
Huffman Coding
Message: BCCABBDDAECCBBAEDDCC
Character
Code
A 000
B 001
C 010
D 011
E 100
Length: 20
Size: 20*3 = 60 bits
001010010000………
14
Huffman Coding
Message: BCCABBDDAECCBBAEDDCC
Character
Code
A 000
B 001
C 010
D 011
E 100
40
bits
15
bits
55 bits
Length: 20
Size: 20*3 = 60 bits
001010010000………
Total size = 60 +55
= 115 bits
15
Huffman Coding
Message: BCCABBDDAECCBBAEDDCC
Character
Frequency
A 3
B 5
C 6
D 4
E 2
2 3 4 5 6
E A D B C
Sorted in ascending order according to frequency
16
Huffman Coding
Message: BCCABBDDAECCBBAEDDCC
2 3 4 5 6
E A D B C
5
9
11
20
Character
Frequency
A 3
B 5
C 6
D 4
E 2
17
Huffman Coding
Message: BCCABBDDAECCBBAEDDCC
Character
Frequency
Code
A 3 001 3*3= 9
B 5 10 5*2=10
C 6 11 6*2=12
D 4 01 4*2=8
E 2 000 2*3=6
40
bits
20 12
bits
45 bits
2 3 4 5 6
E A D B C
5
9
11
200
0
0
0
1
11
1
Total = Message + table
= 45 + 52 = 97 bits
18
Decoding
Message: BCCABBDDAECCBBAEDDCC
2 3 4 5 6
E A D B C
5
9
11
200
0
0
0
1
11
1
101111001……..
19
Thank you
20

Greedy Algorithm - Huffman coding