You are on page 1of 568

Strictly as per Revised Syllabus of

Anna University
Choice Based Credit System (CBCS)
Semester - IV (CSE/IT)

Design and Analysis of Algorithms


Mrs. Anuradha A. Puntambekar
M.E. (Computer)
Formerly Assistant Professor in
P.E.S. Modern College of Engineering, Pune

® TM
ISBN 978-93-332-2107-8

TECHNICAL
PUBLICATIONS
An Up-Thrust for Knowledge 9 7 8 9 3 3 3 2 2 1 0 7 8

(i)
Design and Analysis of Algorithms
Semester - IV (CSE / IT)

First Edition : January 2019

ã Copyright with Author

All publishing rights (printed and ebook version) reserved with Technical Publications. No part of this book
should be reproduced in any form, Electronic, Mechanical, Photocopy or any information storage and
retrieval system without prior permission in writing, from Technical Publications, Pune.

Published
®
by : TM Amit Residency, Office No.1, 412, Shaniwar Peth, Pune - 411030, M.S. INDIA
TECHNICAL Ph.: +91-020-24495496/97, Telefax : +91-020-24495497
Email : sales@technicalpublications.org Website : www.technicalpublications.org
PUBLICATIONS

ISBN 978-93-332-2107-8

9 7 8 9 3 3 3 2 2 1 0 7 8

AU 17

9789333221078[1] (ii)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Problem to be solved

Algorithm created for


performing particular
task

Correct result

Input Output
Computer

Errors if any

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Algorithm Heading
It consists of name of algorithm, problem
description, input and output

Algorithm Body
It consists of logical body of the algorithm
by making use of various programming
constructs and assignment statement.

Algorithm name (p1,p2,....................,pn)

This keyword should Here write Write


be written first the name of parameters
an algorithm (if any)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


value 1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


GCD

Using Euclid algorithm Consecutive integer Finding the repetitive


checking algorithm factors

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n 23
n
23 5

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


k n

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Understand the problem

Decide on :
(1) Computational means
(2) Exact Vs. approximatesolving
(3) Data structures
(4) Algorithmic design techniques

Design an algorithm

Prove correctness

Analyze the algorihm

Code the algorithm

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Using natural language

Algorithm
Pseudo code

Flow chart

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


START Start state

Transition

Processing or assignment statements

Input-output statement

Conditional statement

STOP Stop state

Start

Input the
value of a

Input the
value of b

c= a+b

Display the
value of c

Stop

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Computing best
case, worst case
Measuring and average
case efficiencies Measuring
space input size
complexity

Analysis of algorithms

Measuring
time Measuring
complexity Computing running
order of time
growth of
algorithms

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


3n 2 .

n 1

n  (1) = n times
 
for outer for initialization
loop of j

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


2
n  (n+1) = n + n times

 
execution of execution of
outer i loop inner j loop

2
n  (n) = n times

 
execution of execution of
outer i loop inner j loop

2
n  (n) = n times
 
execution of execution of
outer i loop inner j loop

3n 2 4n 2
O n2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


T(n)  cop C(n)

Running time of Time taken by the Number of times the


basic operation basic operation to operation needs to be
execute executed

n2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n
2 3
65536 n

32768

16384
2
n
8192

4096

2048

1024
n log2 n
512

256
n
128

64

32

16 log2 n

1 2 4 8 16 32 64 128

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n0 n0
n0
f(n) c g(n)

c  g(n)

f(n)

n0 n
f(n) O(g(n))

n2
n2

n2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


(1) 2

( 2) 2

( 3) 2

' '

n0

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


f(n)

c  g(n)

n0 n

f(n) (g(n))

2n 2 5

2 ( 0) 2 5

2 (1) 2 5

2 ( 3) 2 5

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


2n 2 5

n3 (n) 2

c1 c2

c2  g(n)
f(n)

c1  g(n)

n
Theta notation f(n)  (g(n))

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


c1 c2 n0

f1 (n) g 1 (n) f2 (n) g 2 (n)


f1 (n) + f2 (n) O(max(g 1 (n), g 2 (n))
m (n m )

a 1n 3 a 2n 2 a 3n c (n 3 )

O(n 2 ) O(2 n )

an

( g ( n))

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n log n
n 2 2n
n log n
n 2 2n

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


35x 8 22x7 14 x5 2x 4 4x2 x 15

c g(n)

c g(n)

35x 8 22x7 14x5 2x 4 4x 2 x 15

x8

35(1) 8 22(1) 7 14(1) 5 2(1) 4 4(1) 2 1 15

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


x8 (1) 8

n2

n3

2n

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


( g(n)).

f1 (n) f2 (n) f1 (n) g 1 (n)


f2 (n) (g 2 (n)) f1 (n) f2 (n) (O(g 1 (n)), O (g 2 (n)))
f1 (n) f2 (n) f1 (n) O(g 1 (n))
f2 (n) O(g 2 (n)) f1 (n) f2 (n) O (g 1 (n) g 2 (n))
f1 f1 f2 c f1
f2 O(f1 f2 ) O (f1 ) O (f2 )

3n3 2n 2 10 O (n 3 )

f(n)
lim
n g(n)

n3
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


4n 3 4n
3
105 n 4n 2 6n

n 3 4n 3 4n 105n 3 4n 2 6n O(n 3 )

2n 1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n(n 1) n2 n
2 2 2

O (n 2 )

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n (n 1) n2 n
2 2 2

O (n 2 )

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n
2T n
2

n n
2T n
4 2

n
4T 2n
4

n n
4 2T 2n
8 4

n
3n
8

n
23 T 3n
23

n
2kT kn
2k

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n
n T logn n 2k n
n

n T(1) n logn

n
T C
3

n
T C
3

n
T C C
9

n
T 2C
9

n
T C 2C
27

n
T 3C
27

n
T kC
3k

3k n
n
T log 3 n C
n

T (1) log 3 n C

C log 3 n 1

T ( n 1) n 4

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n4

[T (n 2) (n 1) 4 ] n 4 T(n 1) T(n 2) (n 1) 4

T(n 2) (n 1) 4 n4

[T(n 3) (n 2) 4 ] (n 1) 4 n4

T(n 3) (n 2) 4 (n 1) 4 n4

[T(n 4) (n 3) 4 ] (n 2) 4 (n 1) 4 n4

T(n 4) (n 3) 4 (n 2) 4 (n 1) 4 n4

T(n k) (n k 1) 4 (n k 2) 4 (n k 3) 4 n4

T(n n) (n n 1) 4 (n n 2) 4 (n n 3) 4 + n4

T(0) 1 4 24 34 n4
n
T(0) n4
i 1
n n
T(0) n(n 4 ) n4 n4 1 n4 n
i 1 i 1

0 n5
(n 5 )

n
2T n
2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Step 1 : Step 2 : Step 3 :
n n n

T(n)

n n n n n
T — T — — —
2 2 2 2

Step 4 :
n n

n n n
— —
2 2

n n n n
— — — — n
4 4 4 4

n n

n n n
— —
2 2

logn n n n n
— — — — n
4 4 4 4

n n n n n n n n
— — — — — — — — n
8 8 8 8 8 8 8 8

T(1) T(1) T(1) T(1) T(1)


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n
T ( n) 3T Cn 2
4

2 2
Cn Cn

n 2 n 2 n 2 3 2
C — C — C — —– Cn
4 4 4 16

2
3 2
—– Cn
log4n n 2 n 2 n 2 16
C — C — C —
16 16 16

n 2 n 2 n 2
C — C — C —
64 64 64

T(1) T(1) T(1) T(1)

n n
1 4i
i
4 4i
log 4 n i log 4 n 1 log 4 n 1
2
n
C
4i
2
n
3i C
4i
3
C(n 2 )
16
log 4 n
3 log 4 n n log 4 3 (n log 4 3 )

n 2n
T T O(n) ...
3 3

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


2
2 2
n n ... 1
3 3
k
2
n
3
n n

O(n/3) O(2n/3) n

Log 3/2n

O(n/9) O(n/9) O ( 4n9) O ( 4n9) n

O (n log n)

log 3 2 n log 3 2 n

n
8T n2 (1)
2

n2 2n 2 22 n 2 23n2 24 n 2 2 log n – 1 n 2 8 log n


log n– 1
2k n 2 8 log n
k 0

log n– 1
n2 2 k ( 2 3 ) log n
k 0

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


2
n 2
n

2
n 2 2 2
— n n n 2
2 + — + + — = 8 —– = 2 n
2 2 4
8 8 8

2 2 2 2 2 2 2 2 2
n n n n n n n n n 2

4

4

4

4

4

4

4

4

4 ) )
8 2
= 4 n
2 2
=2 n

log n–1 2
=2 n

T(1) T(1) T(1) T(1) T(1) T(1) T(1) T(1) T(1) log n
=8

log n– 1
2k
k 0
log n– 1
2k ( 2 log n – 1 ) (n)
k 0

(2 3 ) log n (2 log n ) 3 n3

n2 (n) + n 3

(n 3 )

(n 3 )

aT (n b) F(n)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


(n d )

(n d ) bd

(n d log n)
log ba
(n ) bd

n1

bd 21
log ba
(n )
log 2 4
(n )

(n 2 ) log 2 4 2

(n 2 )

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


log 2 m

log ba
O (n )
log ba
(n )
log ba
(n log k n)
log ba
(n log k+ 1 n)
log ba +
(n )

n 1
T i 1 n 2
i 1

n
2T
2

n 1
T(i) 1
i 1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


 T(n) = T (n – 1) + 1

Putting value of equation (1)

T(n) = (T (n – 2) +1) +1

T(n 2) 1
 T(n) = T (n – 2) + 2

 equation (2)

T(n) = (T (n – 3) + 1) + 2

a0 a1

an 5 an 1 6 an 2

an 5a n 1 6a n 2
n
a0 a1 an

2 5 6

( 2)( 3)
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


an A(2) n B(3) n

a0 A(2) 0 B(3) 0

a0

a1 A(2) 1 B(3) 1

a1

an 2n 3n

log 2 2

log 2 2
(n log 1 n)
log ba
(n log k+ 1 n)
log 2 2
(n log 2 n)

(n 1 log 2 n)

(n log 2 n)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n2
n2

log 2 8

log ba
O (n )
log 2 8
O (n )

O (n 3 ) 1 O (n 3 1) O (n 2 ) f(n)
log ba
(n )
log 2 8
(n )

(n 3 )

n3
n3

log 3 9

log 3 9
(n )

(n 2 ) n3

f(n) (n) 1
(f(n))
(n 3 )

log 2 1

2k
20
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


log ba
(n log k n)
log 2 1
(n log 0 n)

(n 0 1)

n0 1
log ba
(n log k+ 1 n)
log 2 1
(n log 0+ 1 n)

(n 0 log 1 n)

n0 1

9T (n 3) n

log a log 9
n b n 3 n2

log a
(n b ) (n 2 )

log b a
(n )

(n log 3 9 )

(n 2 )

(n 2 )

k T ( n k) n 2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n
k T n2
k

2
n n n n
2T n2 T 2T
2 2 4 2

n n2
2 2 T n2
4 4

n n2
4T n2
4 2
2
n 3n 2 n n n
4T T 2T
4 2 4 8 4

n n2 3n 2
4 2 T
8 16 2

n n2 3n 2
8T
8 4 2

n 7n 2
8T
8 4

n 2k 1
2kT n2
2k 2k 1

n 2k 1
2kT Cn 2 c Constant
2k 2k 1

n
1 2k n log 2 n
2k

nT(1) Cn 2

n Cn 2 T(1) 1

(n) 2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n
k T n2
k

log b a
n n log k k n1

n log k k

n1 1

f(n) i. e. n 2

(f(n))
(n 2 )

2T n/2 3 n 2
2 n 2

2T n/2 cn n 1
n 1

n
2

4
2

8
2

16
2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n
2

2k
2

2k 1

2 k– 2

20

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n
W c. n
2
n
W c. n c. n
4
n
W c. n 2cn
8
n
W 3 cn
23
n
W 4 cn
24

n
W kcn
2k

2k
n
W kcn
n

2k
3k
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


3 2 x(n – 2)

3(3 2 x(n – 3)

3 3 x(n – 3)

3 k x(n – k)

3 n– 1 x(n – (n – 1))

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


3 n– 1 x(1)

3 n– 1 4

4 3n– 1

x(n – n) n n
x(0) n 2

0 n2 x(0) 0

n2

2k

x(2 k ) x(2 k / 2) 2 k

x(2 k– 1 ) 2 k

[x(2 k– 2 ) 2 k– 1 ] 2 k

x(2 k– 3 ) 2 k– 2 2 k– 1 2 k

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


x(2 k– k ) 2 1 2 2 2 3 ... 2 k

x(2 0 ) 2 1 2 2 2 3 ....+2 k

x(1) 2 1 2 2 2 3 .... 2 k

1 21 22 2 3 ....2 k

2k 1 –1

2 2k – 1

2k
x (2 k ) 2 n –1

3k

x(3 k ) x(3 k– 1 ) 1

[x(3 k– 2 ) 1] + 1

x 3 k– 2 2

[x(3 k– 3 ) 1] + 2

x 3 k– 3 3

x(3 k– k ) k

x(1) = 1
3k log 3 n

x(3 k ) 1 log 3 n

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


T(n) = Probability of successful search  Probability of unsuccessful search

For elements 1 to n
in the list When there is
possibility of not
getting element

P P P
1 2 ...... i n (1 P)
n n n

P
(1+ 2 + ....+i) n (1 P)
n
P n(n + 1)
n (1 P)
n 2

(n + 1)
P n (1 P)
2

0 (n 1)
n (1 0)
2

1(n + 1)
n (1 1)
2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


(n + 1)
2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Count or time

Count or time

n n
(a) Input obtained gives (b) Input obtained gives
linear characteristic logarithmic graph.
The efficiency = M(n) The efficiency = M(log2n)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


M (n 1) 1

M (n 2) 1 1 M (n 2) 2

(n)

A B C

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


A B C

1
32
4
5

A B C

3 1
4
5 2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


A B C

1
4 2
5 3

A B C

1 3
2
5 4

A B C

21
3
5 4

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


2 2 M (n 2) 2 1

2 3 M (n 3) 2 2 21 1

2 4 M (n 4) 23 22 2 1

2 i M (n i) 2i 1
2i 2
... 2 1

2 i M (n i) 2i 1

(2 n 1) (2 n )

n disks

(n–1) disks (n–1) disks

(n–2) disks (n–2) disks (n–2) disks (n–2) disks

2 2
2 2

1 11 1
1 1 1 1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n 2
n 2

n 2 n 2

n 2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n 2 n 2 n 4

D n 4 1 1 D n 4 2

D n 8 1 2 D n 4 D n 8 1

D n 8 3

2k

D (2 k ) D (2 k 1) 1

D (2 k )

D (2 k ) D (2 0 )

D (2 k ) D (2 k ) 0

D (2 k )

D (2 k ) D (2 k 1) + 1 D (2 k 1) = D (2 k 2)+1

[D (2 k 2 ) + 1] +1 D (2 k 2) = D (2 k 3)+1

[D (2 k 3
) + 1] + 2 = [D (2 k 3
) + 3]

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


D (2 k i) +i

D (2 k k
)+k

D (2 0 ) + k

D (2 k )

n 2k
k log 2 n

log 2 n (log 2 n)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n th

r2 r 1

b b2 4ac
2a

r2 r 1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


r1 r2
b b2 4ac 1 1 4 (1 1)
r1
2a 2 (1)
1 1 4
2

1 5
r1
2

b b2 4ac 1 1 4 (1 1)
r2
2a 2
1 1 4
2

1 5
r2
2

Ar1n Br2n

r1 r2
n n
1 5 1 5
A B
2 2

0 0
1 5 1 5
A B
2 2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1 1
1 5 1 5
A B
2 2

1 5 1 5
A B
2 2

1 5 1 5
B +B
2 2

1 5 1 5
B
2 2

1 5 1 5
B
2

2 5
B
2

B[ 5]

1
5

1
5

1
5

n n
1 5 1 5
A B
2 2

n n
1 1 5 1 1 5
5 2 5 2
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


(1 5) 1 (1 5)
,
2 2
1 1
( )n ( 1) n
5 5
1 5
2
1 1 5
2

1 n 1) n ]
[( (
5

1 1) n
(
5

1 n
5

n
( )

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Searching the maximum element from
an array

If any value is larger than current


Max_value then set new Max_value by
obtained larger value

n 1
1
i 1
n
Using the rule 1= n n
i 1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


If any two elements in the array are
similar then return False indicating
that the array elements are not
distinct.

C worst (n)
n 2 n 1
C worst (n)
i 0 j i+ 1

C worst
n 1 n
1 1 n k 1 is the rule.
j i+ 1 i k

n 2
(n 1 i)
i 0

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n 2 n 2
(n 1 ) i
i 0 i 0

n 2
(n 2) (n 1)
(n 1) 1 n
2 n (n 1)
i 0 i
2
i 1

n 2
(n 2) (n 1)
(n 1) 1
2
i 0
n
1 (n 1 1) n
i 1

(n 2) (n 1) n 2
(n 1) (n 1) 1
2
i 0

2 (n 1) (n 1) (n 2) (n 1)
2
2 (n 2 2n 1) (n 2 3n 2) / 2

(n 2 n) / 2
1 2
n
2
(n 2 )

b00 b01
a a a 1 2
00 01 02
1 2 3
b10 b11
a a a 3 4
10 11 12
4 5 6
2 3 b20 b21
5 6 3 2
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


a 00 b 00 a 01 b 10 a 02 b 20 a 00 b 01 a 01 b 11 a 02 b 21
a 10 b 00 a 11 b 10 a 12 b 20 a 10 b 01 a 11 b 11 a 12 b 21

1 1 2 3 3 5 1 2 2 4 3 6
4 1 5 3 6 5 4 2 5 4 6 6

22 28
49 64

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n 1 n 1 n 1
1
i 0 j 0 k 0

n 1 n 1
n n 1
i 0 j 0 n
n 1 j 1
n2
i 0

n3

n3
3
(n )

log 2 n

log 2 n 1
(log 2 n)
log 2 n

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Q1 Q2

Interchange
Q2 the names Q1
Q1 and Q2
10 20 30 10 20 30

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Q1 Q2

Interchange
Q2 Queue names Q1

10 20 10 20

Q1 Q2

Interchange
Q2 Queue names Q1

10 10

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


O(n 2 )

O(n 2 )

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Algorithmic visualization

Dynamic algorithm
Static algorithm
visualization
visualization
(includes continuous
(includes still images)
movie-like presentations)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


(n)

amn m . . . a1n a0 O(n m ).

a mn m a m– 1 n m– 1 a m– 2 n m– 2 ... a 0
a im
m
A am
i 0
a 00 a 11 a 22

n
A 1 A n1
i 0
A O n1

n
A n A n2
i 0
A O n2

n
A n2 AO n3
i 0
m
A n A O nm
i 0

O nm

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n0 n0
n0
f(n) c g(n)

n0

c1 c2
c1 c 2 g(n)

f1 (n) f2 (n) f1 (n) g 1 (n)


f2 (n) (g 2 (n)) f1 (n) f2 (n) (O(g 1 (n)), O (g 2 (n)))
f1 (n) f2 (n) f1 (n) O(g 1 (n))
f2 (n) O(g 2 (n)) f1 (n) f2 (n) O (g 1 (n) g 2 (n))

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


c 1n 2 c2 n
c3

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n0 n0
n0
c g(n)

c g(n) n0

C1 C2
C 1 g(n) C 2 g(n)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n2
n2

n(n – 1) n2
2 30
n2

25

20

15

10 n (n – 1)
2
5

0 1 2 3 4 5

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


500
(2i – 1)
i= 1
500 500
500 501
2i – 1 2 – 500
2
i= 1 i= 1

500
2i – 1 i2
i= 1

O(n) 2

n 0

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


log ba
O (n )
log ba
(n )
log ba
(n log k n)
log ba
(n log k+ 1 n)
log ba +
(n )

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


an

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


an

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


an

an

25

to ...... ti ....... ti+j ....... ti+m – 1 ....... tn–1 text

po ..... pj ......... pm–1 pattern

matched pattern found in text

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


0 th

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Text 0 0 0 0 0 0  0 0 0 0 0

 
Trial#1 0 0 0 0 1

Trial#2 0 0 0 0 1 
Pattern
matching  

0 0 0 0 1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


5 996

[Total character compared] [1000 zeros 4 matched zeros]

1 996

x, y P x, y

2 2
d Pi , Pj xi – xj yi –yj

Pi Pj

n–1
j i 1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


S P1 , P2 , P3 ... Pn
H S

Convex Not a convex

Step 1 Step 2 Step 3

Step 4 Step 5 Step 6

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Step 7 Step 8 Step 9

Step 10 Step 11 Step 12

Step 13 Step 14
1 Extreme
2 points
7
6
8 3

5
4

Convex Hull

Pi

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1

2 2
1
4 3
4
2 3
5

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


2
a b

5 3
8 7
1
c d

wi vi

wi vi

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


wi vi

wi vi

wi vi

wi vi

wi vi

wi vi

wi vi

wi vi

wi

wi

wi

i th j th

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


job job job job
1 2 3 4

2, 1, 3, 4

1, 2, 3, 4 >
1, 2, 4 , 3
1, 2, 3, 4 >
< 1, 3, 4 , 2
1, 4 , 2, 3
1, 4 , 3, 2
2, 1, 3, 4 >
2, 1, 4 , 3
2, 3, 1, 4 >
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


2, 3, 4 , 1
2, 4 , 3, 1
2, 4 , 1, 3
3, 1, 2, 4
3, 1, 4 , 2
3, 2, 1, 4 >
3, 2, 4 , 1
3, 4 , 1, 2
3, 4 , 2, 1
4 , 1, 2, 3
4, 1, 3, 2
4 , 2, 1, 3
4 , 2, 3, 1
4 , 3, 2, 1
4 , 3, 1, 2
2, 1, 3, 4 >

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


g(n) if n is small
T(n 1 ) T(n 2 ) ...........T(n r ) + F(n) when n is sufficiently large

Problem of size n

Sub problem 1 Sub problem 1


of size n/2 of size n/2

Solution to Solution to
sub problem 1 sub problem 2

Solution to original
problem

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


(a0 + ... an–1)

(a0 ... + an/2–1) (an/2+ ... + an–1)

Solution 1 Solution 2

Solution to
(a0 + ... + an–1)

T(n) = a T(n/b) + f(n)

Time for
size n/b
Time for Number of Time required for
size n subinstances dividing the problem
into subproblem

bk
T (b k ) aT (b k b) f (b k )
aT (b k 1) f(b k )

a [aT(b k 2) f(b k 1 )] f (b k )
a 2 T (b k 2) af (b k 1) f (b k )

T (b k 2)

a 2 [aT (b k 3) f (b k 2 )] af (b k 1) f (b k )
a 3 T (b k 3) a 2 f (b k 2) af (b k 1) f (b k )

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


a kT (b k k) ak 1 f (b 1 ) ak 2 f (b 2 ) ... a 0 f (b k )
[a kT (1) a k 1 f(b) a k 2 f (b 2 ) ... a 0 f(b k )]

ak ak ak
a kT(1) f(b) f (b 2 ) ... f (b k )
a a2 ak
ak
f(b) f(b 2 ) f(b k )
a k T(1) ... +
a a2 ak
k f(b j )
a k T(1)
j 1 aj

log bx log ba
a x
ak
log bn log ba
ak a n

k
a k T(1) f(b j ) a j
j 1

log bn
log ba
n T(1) f(b j ) a j
j 1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


O(nlog n) + O(1) + O(1)

Efficiency For choosing the


of sorting last element
the
elements
For choosing the
first element

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


?

Left sublist Right sublist

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Left Right
sublist sublist

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


T(n) = T(n/2) + c
Time required to compare
left and right sublists Constant time required
to compare middle
element

) 2

) 3

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


(1) (log 2n) (log 2n)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


log n

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


0 1 2 3 4 5

10 20 30 40 50 60

Left Right
sublist Mid sublist

Array A [ ]

 40 50 60

Mid

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


10 20 30 40 50 60 NULL

temp

10 20 30 40 50 60 NULL

mid

temp ?

40 50 60 NULL

mid

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


3 14 27 31 39 42 55 70 74 81 85 93 98

Cw log 2 n 1
log 2 (n 1)

log 2 (13+ 1)

3 14 27 31 39 42 55 70 74 81 85 93 98

Left sublist Right sublist

Mid
element

55

3 14 27 31 39 42 70 74 81 85 93 98

Mid Mid
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


55

27 81

3 14 31 39 42 70 74 85 93 98

55

27 81

3 39 70 93

NULL 14 31 42 NULL 74 85 98

Number of
comparisions
Key for successful
55 [1] search
value

[2] 27 81 [2]

[3] 3 [3] [3] [3]


39 70 93
[4] [4] [4] [4] [4] [4]
NULL 14 31 42 NULL 74 85 98

yes 1 1 1 1 41
C avg 1 1 2 2 3 4 4 6
13 13 13 13 13

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


55

27 81

3 39 70 93

NULL 14 31 42 NULL 74 85 98

Unsuccessful
search

1 1
C no
avg 3 2 4 12
14 14
54
14

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


70 20 30 40 10 50 60

Divide Divide

70 20 30 40 10 50 60
Divide Divide

70 20 30 40 10 50 60

Divide Divide

70 20 30 40 10 50 60

Merge Merge

20 70 30 10 40 50 60

Merge Merge

20 30 70 10 40 50 60

Merge Merge

10 20 30 40 50 60 70

0 1 2 3 4 5 6 7 8 9
18 29 68 32 43 37 87 24 47 50

18 29 68 32 43 37 87 24 47 50

18 29 68 32 43 37 87 24 47 50

18 29 68 32 43 37 87 24 47 50

18 29 32 43 37 87 47 50

18 29 37 87

18 29 68 24 37 87

18 29 32 43 68 24 37 47 50 87

18 24 29 32 37 43 47 50 68 87

This is the sorted list

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


38 27 43 3 9 82 10

Divide Divide

38 27 43 3 9 82 10
Divide Divide

38 27 43 3 9 82 10
Divide

38 27 43 3 9 82 10

Merge Merge

27 38 43 3 9 10 82

Merge Merge

27 38 43 3 9 10 82

Merge

3 9 10 27 38 43 82

is a sorted list

0 1 2 3 4 5 6 7 8
122 25 70 175 89 90 95 102 123

122 25 70 175 89 90 95 102 123

122 25 70 175 89 90 95 102 123

122 25 70 175 89 90 95 102 123

122 25 89 175

25 122 90 95 102 123

25 70 122

25 70 89 122 175 90 95 102 123

25 70 89 90 95 102 122 123 175

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Dividing
phase 286 45 278 368 475 389 656 788 503 126

286 45 278 368 475 389 656 788 503 126

286 45 278 368 475 389 656 788 503 126

286 45 278 368 475 389 656 788 503 126


Combining
phase
45 286 278 368 475 389 656 788 126 503

45 278 286 368 475 389 656 788 126 503

45 278 286 368 475 126 389 503 656 788

45 126 278 286 368 389 475 503 656 788

This is the sorted list

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


12 24 8 71 4 23 6 89 56

12 24 8 71 4 23 6 89 56

12 24 8 71 4 23 6 89 56

12 24 8 71 4 23 6 89 56

12 24 8 71 4 23 6 89 56

8 12 24 71 4 6 23 89 56

8 12 24 71 4 6 23 56 89

6 6 8 12 23 24 56 71 89

This is a sorted list

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


low high
0 1 2 3 4 5 6
70 20 30 40 10 50 60 Merge sort (A, low, mid)

4
1 This list is further
subdivided This list can be
subdivided
0 1 2 3
70 20 30 40

2 This list is
3 This list
subdivided can be Merge sort (A, mid+1, high)
subdivided

70 20 30 40 10 50 60
This list
7 Combine 5 can be
Combine two
subdivide
sublists in
temp array 6 10 50 10
Combine two
sublists

20 70 30 40 9 Combine two
sublists
8 Combine
these two 10 50
20 30 40 70 sublists

10 50 60

11 Combine two
sublists
10 20 30 40 50 60 70

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Array A (left sublist) Array A (right sublist)
Applicable part of
20 30 40 70 10 50 60 Algorithm
 
i j

Initially k = 0. Then k will be incremented



temp 

0  e
k get l s e p a r t
s ex o
ecute f a l g o r i t hm 
d

A (left sublist) A (right sublist) 
20 30 40 70 10 50 60
 
i j

Array A (left sublist) Array A (right sublist)


Applicable part of
20 30 40 70 10 50 60 Algorithm
 
i j

k = 1. It is advanced later on
temp
10 20 
if part of algorithm 
0 1  gets executed 
k
moves ahead

Array A (left sublist) Array A (right sublist) 



20 30 40 70 10 50 60

 
i j

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Array A (left sublist) Array A (right sublist)
20 30 40 70 10 50 60
  Applicable part of
i j Algorithm
Now k=2
temp
10 20 30 
if part 
0 1 2  gets executed 
k
moves ahead

A (left sublist) A (right sublist) 



20 30 40 70 10 50 60

 
i j

A (left sublist) A (right sublist)


Applicable part of
20 30 40 70 10 50 60
Algorithm
 
i j
temp 
ed
execut 
10 20 30 40 if part gets 

k


A (left sublist) A (right sublist) 

20 30 40 70 10 50 60
 
i j

A (left sublist) A (right sublist)


Applicable part of
20 30 40 70 10 50 60
Algorithm
 
i j
temp 

10 20 30 40 50 els
e 
 gets par
ex t
k ec
uted

A (left sublist) A (right sublist) 

20 30 40 70 10 50 60
 
i j

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


A (left sublist) A (right sublist)
Applicable part of
20 30 40 70 10 50 60
Algorithm
 
i j
temp

10 20 30 40 50 60 
 
k
else
part of algorithm
gets executed

A (left sublist) A (right sublist) 

20 30 40 70 10 50 60
 
i j

A (left sublist) A (right sublist)


Applicable part of
20 30 40 70 10 50 60
Algorithm
 
i j
temp
ecuted 
10 20 30 40 50 60 70 t his part gets ex 

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


(n d logn)

nd

bd

21

(n log 2 n)

(n log 2 n)

n 2k

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


2k
2T c 2k n 2k
2

T (2 k ) 2T (2 k 1) c 2k

T (2 k ) 2T (2 k 1) c 2k

2 [2T (2 k 2
) c 2k 1
] c 2k

2 2 T (2 k 2
) 2 c 2k 1
c 2k

2k
2 2 T (2 k 2) 2 c c 2k
2

2 2 T (2 k 2) c 2k c 2k

T (2 k ) 2 2 T (2 k 2
) 2c 2 k

T(2 k ) 2 3 T (2 k 3) 3c 2 k

2 4 T (2 k 4) 4c 2 k

2 k T (2 k k) k c 2k

2 k T (2 0 ) k c 2 k

T(2 k ) 2 k T (1) k c 2 k

T (2 k ) 2k 0 k c 2k

T (2 k ) k c 2k

2k
log 2 n
log 2 n cn
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


(n log 2 n)

(n log 2 n)

(n log2n) (n log2n) (n log2n)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


We compare elements from left sublist
and right sublist. If element in the left
sublist is lesser than the element in the
right sublist then copy that smaller
element of left sublist to temp array

We compare elements from left sublist


and right sublist. If element in the right
sublist is lesser than the element in the
left sublist then copy that smaller
element of right sublist to temp array

Reached at the end of right sublist and


elements of left sublist are
remaining, then copy the remaining
elements of left sublist to temp

Reached at the end of left sublist and


elements of right sublist are remaining,
then copy the remaining
elements of right sublist to temp

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Elements that are Pivot element Elements that are
less than pivot greater than pivot

A[0] ... A[m–1],A[m],A[m+1]...A[n–1]

These elements are Mid These elements are


less than A[m] greater than A[m]

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


i
Now we have left sublist Now we have right sublist

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Left sublist Right sublist

Now consider this


sublist for sorting

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


5 3 1 9 8 2 4 7

Low high
5 3 1 9 8 2 4 7
Pivot i j

0 1 2 3 4 5 6 7
5 3 1 9 8 2 4 7
Pivot i i i jj
Swap A [i] and A [j]
0 1 2 3 4 5 6 7
5 3 1 4 8 2 9 7
Pivot ii jj

Swap A [i] and A [j]


0 1 2 3 4 5 6 7
5 3 1 4 2 8 9 7
Pivot i j
0 1 2 3 4 5 6 7
5 3 1 4 2 8 9 7
Pivot j i

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


0 1 2 3 4 5 6 7
2 3 1 4 5 8 9 7

Left sublist Right sublist


Pivot has
occupied its
proper position

0 1 2 3 5 6 7
2 3 1 4 8 9 7
Pivot i jj Pivot i j
Swap A [i] and A [j] Swap A [i] and A [j]
2 1 3 4 8 7 9
Pivot i j Pivot i j

0 1 2 3 5 6 7
2 1 3 4 8 7 9
Pivot j i Pivot j i
As j < i Swap As j < i Swap
A [Pivot] and A [j] A [Pivot] and A [j]
0 1 2 3
1 2 3 4 7 8 9

Pivot has Pivot has


occupied its occupied its
proper position proper position

2 3
3 4
Pivot i/j

0 1 2 3 4 5 6 7
1 2 3 4 5 7 8 9

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n
T n T n
T(n) = + +
2 2 Time required
for partitioning
the sub array
Time required Time required
to sort left to sort right
sub-list sub-list

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


time required

n
n items

n–1
n – 1 items
1
....
n – 2 items
2
....
n – 3 items
3
1

n (n 1) 1 2
n
2 2

(n 2 )

(n 2 )

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n 1
1
(T(i) T(n 1 i) cn)
n
i 0

2
(T(0) T(1) ..... T(n 2) T(n 1) cn)
n

2(T(0) T(1) ..... T(n 2) T(n 1) cn 2 )

(n 1)T(n 1) 2(T(0) T(1) ..... T(n 2) c(n 1) 2 )

nT(n) (n 1)T(n 1) 2T(n 1) 2cn c 2T(n 1) 2cn


(n 1)T(n 1) 2cn

T(n) T(n 1) 2c
n 1 n n 1

T(n) T(n 1) T(n 2) T(2) T(1)


....
n 1 n n 1 3 2
T(n 1) T(n 2) T(2) T(1) T(0)
....
n n 1 3 2 1
2c 2c 2c 2c
.....
n 1 n 3 2

T(n) T(0) 1 1 1 1
2c ....
n 1 1 2 3 n 1 n

T(n) T(0) 1 1 1 1
+ 2c ....
n 1 1 2 3 n n+1

2c(H n 1 1)
1 1 1
Hn 1 ......
2 3 n
T(n)
c log n
n 1
(n + 1)c log n

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


(nlog n)

(nlog n)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Heap construction

Heap sort

Deletion of maximum key

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Stage I : Heap construction

Array representation of heap


14
14 12 9 8 7 10 18

12 9
We start
heapifying
8 from
7 10 18
bottom

14
Heapifying
this 14 12 18 8 7 10 9
tree
12 18

8 7 10 9

18
18 12 14 8 7 10 9

12 14

8 7 10 9

Stage II : Maximum deletion

18
18 12 14 8 7 10 9

12 14 Swap with last node


in heap

8 7 10 9

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


9
9 12 14 8 7 10 18

12 14

8 7 10 18 Delete
it and put it
at the end in array

14

14 12 9 8 7 10 18
12 9 Heapified

8 7 10

14 10 10 12 9 8 7 14 18
swapping

12 9 12 9

8 7 10 8 7 14 Delete it
and put
in the array
at the end

10

12 9 Heapify 10 12 9 8 7 14 18

8 7 14

12

swap
10 9 12 10 9 8 7 14 18

8 Heap to be
7
processed

10 9 7 10 8 12 14 18

Heap to be
8 12 Delete processed
it

10 9 7 10 9 8 12 14 18

Heap to be
8 processed

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


7 10 10
Heapify

9 7 9 8 9
10

8 8 7

10 8 9 7 12 14 18

10 7

Swap
and 7 8 9 10 12 14 18
8 9 8
delete 9
10

9 9 8 7 10 12 14 18
7
Heapify
8 7
8 9

7
9 7 8 9 10 12 14 18
Swap

8 9 Delete
8 7

8 8 7 9 10 12 14 18
7
Heapify
7
8

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


7
8
7 8 9 10 12 14 18

Swap 8
7

7
7 8 9 10 12 14 18

8 Delete

7 8 9 10 12 14 18
7
List is sorted using
heap sort method.

4 4 2

7 7 2 7 4

2 2 1

7 4 1 4 2 4

1 7 7

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1

2 4

7 3

1 3
Swap
1
2 4 2 4
Queue

7 3 7 1 Delete
and insert
in queue

3 2 7
Swap
1 2
2 4 3 4 3 4
Queue

7 7 2 Delete
and insert
in queue

7 3 4
Swap

3 4 7 4 7 3 Delete
and insert in queue

1 2 3

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


4 7

Swap
7 4 Delete 1 2 3 4
and insert
in queue

7 Delete it 1 2 3 4 7
and insert
in queue This is sorted
list of elements

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


E

A S

Y Q U E

S T I O N

A S

Y Q U E

S T I O N

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


E

A S

Y Q U E

S T I O N

E E

A S Y S

Y Q U E A Q U E

S T I O N S T I O N

E Y

Y S E S

T Q U E T Q U E

N
S A I O S A I O N

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Y Y

T S T S

E Q U E S Q U E

S A I O N E A I O N

is a final heap.
T U

S Q S E

E A I O N

7 7 9
7

3 3 9 3 7

9 9 9

3 7 5 7 5 7

5 3 3 1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


9 9 13

5 7 5 13 5 9

3 1 13 3 1 7 3 1 7

13 13

5 9 5 11

3 1 7 11 3 1 7 9

13 13 13

5 11 5 11 15 11

3 1 7 9 15 1 7 9 5 1 7 9

15 3 3

15

13 11 is a required
Max heap.

5 1 7 9

15 3

Swap 13 11 13 11 15

5 1 7 9 5 1 7 9

3 15 Delete
it and
place it
in array
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


3 13 13

13 11 3 11 5 11

5 1 7 9 5 1 7 9 3 1 7 9

13 Swap 9

5 11 5 11 15 13

3 1 7 9 3 1 7 13

Delete it
and place
it in array

9 11

5 11 5 9

3 1 7 3 1 7

11 7
Swap
5 9 5 9 15 13 11

3 1 7 3 1 11

Delete it
and place
it in array

7 9

5 9 5 7

3 1 3 1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


9 1

5 7 Swap 5 7 15 13 11 9

3 1 3 9

Delete it
and place
it in array

7 3
1 Swap
5 1 5 1
5 7
3
7 delete
3 it and
place it in array

15 13 11 9 7

3 5 Swap 1

Delete it
5 1 3 1 3 5 and place
it in array

15 13 11 9 7 5

1 3 1

3 1 Swap 3 Delete it
and place
it in array.

15 13 11 9 7 5 3

1 Delete it
and place 15 13 11 7 5 3 1
9
it in array
is sorted in descending order.

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


5 5 5 5

16 16 22 16 22

45

5 5 5 2

45 22 45 22 2 22 5 22

16 16 2 16 45 16 45

2 2 2

5 22 5 10 5 10

16 45 10 16 45 22 16 45 22 18

2 2

5 10 5 10

16 45 22 18 16 45 22 18

30 30 50

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


2
2

5 10 5 10

16 45 22 18 16 12 22 18

30 50 12 30 50 45

2 2 2

5 10 5 10 1 10

16 12 22 18 16 1 22 18 16 5 22 18

30 50 45 1 30 50 45 12 30 50 45 12

2 10

16 5 22 18

30 50 45 12

Min Heap

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


4 2 3 4

42
34
168 0
10 Position
0
10 Position
1260 padding 0 at units position 1
10 Position
1
10 Position
1428

42 34 4 10 1 2 10 0 * 3 10 1 4 10 0

4 3 10 2 4 4 2 3 10 1 2 4 10 0

a b
c 2 10 2 c 1 10 1 c 0

c2 a 1 b1
c0 a 0 b0
c1 a 1 a 0 * b1 b0 c2 c0

a1 a0
b1 b0

a b
42 34 a1 a0
b1 b0
c0 , c1 , c2
c2 a 1 b1
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


4 3
c2
c0 a 0 b0
2 4
c0
c1 a1 a0 b1 b0 c2 c0
4 2 3 4 12 8
6 7 20
c1
a b c 2 10 2 c 1 10 1 c 0

12 10 2 22 10 1 8

a b

a b
c 2 10 n c 1 10 n/2 c0

c2 a1 b1
c0 a0 b0
c1 a1 a0 b1 b0 c2 c0

c2 a 1 b1

c0 a 0 b0

c1 a1 a0 b1 b0 c2 c0

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


2k

C 2k 3 C 2k / 2

C 2k 3 C 2k 1

3 3 C 2k 2

3 3 3 C 2k 3

3k C 2k k

3k C 20

3k C 1 20

C 2k 3k

n 2k log 2 n

3 log 2 n
n log 2 3 a log b c c log 2 a

n 1.58

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


(a) Is a convex hull (b) Is not a convex hull

(p 1 , p 2 , p 3 , ... p n )
p1 p n/ 2
p n/ 2 1 pn

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


(a) Arrange the elements (b) Find the convex hull with
in sorted order adjacent points

(c) Merge the lower and upper (d) Concatenate the joined
hulls by dotted lines hulls together

(f) Concatenate it in one hull.


(e) Merge the left and right hull Then merge upper and lower hulls

(g) Concatenate the two convex hulls to form a final convex hull.

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


(n log n)
(n 2 )

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


x0

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n–1
j i 1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


g(n) if n is small
T(n 1 ) T(n 2 ) ........... T(n r ) + F(n) when n is sufficiently large

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


(1) (log 2n) (log 2n)

C worst (n) C worst n 2 1

C worst (1)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


0 1 2 3 4 5 6
–15 –6 0 7 9 23 54 …

A [mid]

4 5 6
… 9 23 54 …

A [mid]

A [mid]

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


0 1 2 3 4 5 6 7
123 23 1 43 54 36 75 34

Low Mid High


0 1 2 3 4 5 6 7
123 23 1 43 54 36 75 34

123 23 1 43 54 36 75 34

123 23 1 43 54 36 75 34

123 23 1 43 54 36 75 34

Merge

23 123 43 54 36 75

1 23 123 34 36 75

1 23 43 54 123 34 36 75

1 23 34 36 43 54 75 123

This is sorted list

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


a1 a0 b1 b0 – c 2 c0

C worst log 2 n 1
log 2 13 1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


(nlogn)

n n
T T cn
2 2
Timefor
Timetaken Timetaken combining
by left by right two
sublist to sublist to sublists
get sorted get sorted

n
2T cn
2

2k ,

2k
2T c 2k
2

T(2 k ) 2T(2 k– 1 ) c 2 k

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


T(2 k ) 2(2T(2 k– 2 ) + c 2 k– 1 ) + c 2 k

2 k– 1
2 2 T(2 k– 2 ) + 2 c + c 2k
2

2 2 T(2 k– 2 ) + 2 c 2 k

T(2 k ) 2 3 T(2 k– 3 ) + 3 c 2 k

2 k T(2 k– k ) + k c2 k

2 k T(1) + k c2 k

2 k (0) + k c2 k

T(2 k ) k c 2k

2k , log 2 n

log 2 n n c

(n log n)

2101 1130

c2 21 11
c0 01 30
c1 (21+ 01) (11+ 30) – (c 2 + c 0 )
22 41 – [(21 30) ( 01 30)]

21 11
c2 2 1
c0 1 1
c1 (2+ 1) (1+ 1) – (2 + 1)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


3 2– 3

21 11 2.10 2 + 3.10 1 1

01 30
c2 0 3
c0 1 0
c1 (0 + 1) ( 3 + 0) – (0 + 0)

01 30 0.10 2 + 3.10 1 0

22 41
c2 2 4
c0 2 1
c1 (2 + 2) ( 4 + 1) – (8 + 2)

22 41 8.10 2 + 10.10 1 2

2101 1130 231.10 4 + (902 – 231 – 30) 10 2 30

(x 1 , y 1 ), (x 2 , y 2 )
(x 3 , y 3 )

x1 y1 1
x2 y2 1 x1 y 2 + x 3 y 1 + x2 y 3 – x 3 y 2 – x2 y 1 – x1 y 3
x3 y3 1

P3 (x 3 , y 3 )
P1P2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n th

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


d 1  1, d 2  4, d 3  6, n  3,
N  8

d 1  1, d 2  4 , d 3  6, n  3, N  8

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge



d1  1

d2  4

d3  6

c [ i, j ]  1  c [ 1, j  d 1 ]
c [ i, j ]  c [ i  1, j ]
[ i] [ j] ( c[ i  1, j] , 1  c[ i, j  d i ])

c [1, 1] with i  1, j  1, d 1  1

1  c [1, j  d 1 ]
1  c [1, 1 – 1 ]
1  c [1, 0]

 c[1, 1] 1

c [2, 1] with i  2, j  1, d 2  4

c [ i  1, j ]
c[ 1, 1]

 c[2, 1]

c [3, 1] with i  3, j  1, d3  6

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


c [ i  1, j ]
c [ 3  1, 1 ]
c[ 2, 1 ]

 c[3, 1]

c [1, 2] with i  1, j  2, d 1  1

1  c [1, j  d 1 ]
1  c [1, 2  1]
1  c [1, 1]

 c[1, 2]

c [2, 2] with i  2, j  2, d 2  4

c [ i – 1, j ]
c [1, 2]

 c[2, 2]

c [3, 2] with i  3, j  2, d3  6

c [ i – 1, j ]
c [2, 2]

 c[2, 2]

c [1, 3] with i  1, j  3, d 1  1

1  c [1, j  d 1 ]

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1  c [1, 3 – 1]
1  c [1, 2]

 c[1, 3]

c [2, 3] with i  2, j  3, d 2  4

c [ i – 1, j ]
c [ 1, 3 ]

 c[2, 3]

c [3, 3] with i  3, j  3, d3  6

c [ i – 1, j ]
c [ 2, 3 ]

 c[3, 3]

c [1, 4] with i  1, j  4, d 1  1

1  c [1, j  d 1 ]
1  c [1, 4 – 1]
1  c [1, 3]

 c[1, 4]

c [2, 4] with i  2, j  4, d 2  4

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


min  c [i  1, j ],1  c i, j  d[i]  
min c [2  1,4 ], 1  c 2, 4 – 4 
min c [ 1,4 ] 1  c 2, 0  

 c[2, 4]

c [3, 4] with i  3, j  4, d3  6

c [ i – 1, j ]
c [ 2, 4 ]

 c[3, 4]

c [1, 5] with i  1, j  5, d 1  1

1  c [1, j – d 1 ]
1  c [1, 5 - 1]
1  c [1, 4]

 c[1, 5]

c [2, 5] with i  2, j  5, d 2  4

min  c [i  1, j ], 1  c i, j  d 2  
min c [1, 5 ], 1  c 2, 5  4  
min c [1, 5 ], 1  c 2, 1  
min 5, 1  1

 c[2, 5]

c [3, 5] with i  3, j  5, d3  6
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


c [ i – 1, j ]
c [ 3 – 1, 5 ]
c [ 2, 5 ]
 c[3, 5]

c [1, 6] with i  1, j  6, d 1  1

1  c [1, j – d 1 ]
1  c [1, 6 – 1]
1  c [1, 5]

 c[1, 6]

c [2, 6] with i  2, j  6, d 2  4

min  c [i  1, j ],1  c i, j  d 2 
min c[1, 6 ], 1  c 2, 2 

 c[2, 6]

c [3, 6] with i  3, j  6, d3  6

min  c [i  1, j ],1  c i, j  d 3  
min c[2, 6 ], 1  c 3, 0 

 c[3, 6]

c [1, 7] with i  1, j  7, d 1  1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1  c [1, j  d 1 ]
1  c [1, 6]

 c[1, 7]

c [2, 7] with i  2, j  7, d 2  4

min  c [i  1, j ],1  c i, j  d 2  
min c[1, 7 ], 1  c 2, 3 

 c[2, 7]

c [3, 7] with i  3, j  7, d3  6

min  c [i  1, j ],1  c i, j  d 3 
min c[2, 7 ], 1  c 3, 1  

 c[3, 7]

c [1, 8] with i  1, j  8, d 1  1

1  c [1, j  d 1 ]
1  c [1, 7]

 c[1, 8]

c [2,8] with i  2, j  8, d 2  4

min  c [i  1, j ],1  c i, j  d 2  
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


min c[1, 8 ], 1  c 2, 4 

 c[2, 8]

c [3, 8] with i  3, j  8, d3  6

min  c [i  1, j ],1  c i, j  d 3  
min c[2, 8 ], 1  c 3, 2 

 c[3, 8]

d1  1

d2  4

d3  6

4 units  1coin
 4 units  1coin
8 units  2 coins

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


 

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge



 


 

 C i – 1, j, 1  C i, j – d i


C 1,4 , 1  C 2, 4 – 4 
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


C 1,4 , 1  0

 C i – 1, j, 1  C i, j – d i


C 1,5, 1  C 2,1 

  , 1  

 C i – 1, j, 1  C i, j – d i


C 2,5, 1  C 3,0 

 ,1  0

 C i – 1, j , 1  C i, j – d i
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


C 1,6, 1  C 2,2 

 C i – 1, j, 1  C i, j – d i


C 2,6, 1  C 3,1

2, 1  

1

 C i – 1, j , 1  C i, j – d i
C 1,7 , 1  C 2,3
  , 1  

 C i – 1, j, 1  C i, j – d i


C 2,7 , 1  C 3,2 
 , 1  1

   
   
 

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


d1  2  1 coin

d 3  5  1 coin


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


0 1 2 3 4 5 6 7 8 9
d1 = 1 0 1 2 3 4 5 6 7 8 9
d2= 4 0 1 2 3 1 2 3 4 2 3
d3 = 6 0 1 2 3 1 2 1 2 2 3

Total
number
of coins

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge



Initialising first
 column by 0

Using this nested


 for loops the table
values are computed

   

  

min  c[i  1, j], 1  c i, j  d[i]

Total number of
coins in the change

(nN)

n
(a  b) n  
k
(0  k  n)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


0 1

1 1 1

2 1 2 1
We have obtained
3 1 3 3 1 C(4,2) in above
example
4 1 4 6 4 1

5 1 5 10 10 5 1

6 1 6 15 20 15 6 1
C (6,3) = 20

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


k i 1 n k
  1    1
i 1 j 1 i k 1 j 1

k n
 [(i  1)  1  1]   (k  1  1)
i 1 i k 1

n
 1  (n  l  1)
i l

k n
 (i  1)   k
i 1 i  k+1

n
[ 1  2  3  ... (k  1)]  k  1
i  k +1

(k  1) k n
 k  1
2 i  k +1

(k  1) k
2
(k  1)k
 k(n  k  1  1)
2
(k  1) k
2

k2 k
  nk  k 2
2 2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


a b

d c

Vi Vj Vi Vj
i th j th

a b c d
a b As no edge from
a 0 1 0 0 b to d, value
is 0.
b 0 0 1 0
c 0 0 0 1 Edge from
d c c to d
d 1 0 0 0

Digraph Adjacency matrix

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Path
b-c-d

d-a-b-c-d

Graph Transitive closure

R(0) , ... , R(k 1) , ... , R(k) , ... R(n)

R(0) R(0)

R(0) R(0)

R(1)
R(1) R(0)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


R(k)
R(k) R(k 1)

R(n) R(n)
R(n)

R(0)

a b c d
Here we have
a b a 0 1 1 0 considered only
direct edges from
(0) b 0 0 1 0 each source
R = vertex. If the
c 0 0 0 1
direct is edge
d c d 1 0 0 0 is present make
1 in matrix.
The boxes at row
(1)
and column are for getting R
a b c d
Here intermediate
a b a 0 1 1 0 vertex is 'a' and
using 'a' as
(1) b 0 0 1 0 intermediate vertex
R = we have to find
c 0 0 0 1 destination vertices
d c d 1 1 0 0 with path length of
2. For instance from d
to b a path exists
with a as intermediate
vertex.

a b c d
a b
a 0 1 1 0
(2)
R = b 0 0 1 1

c c 0 0 0 1
d
d 1 1 1 1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


R(1)

a b c d
a b
a 0 1 1 1
(3)
R = b 0 0 1 1

c c 0 0 0 1
d
d 1 1 1 1

a b c d
a b
a 1 1 1 1
(4)
R = b 1 1 1 1

c c 1 1 1 1
d
d 1 1 1 1

R(k) R(k 1)

(k)
rij i th j th R(k)
(k)
vi vj rij

vi
vi vj

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


k th vi
vj
(k 1)
rij 1

k th vk

vi vk
(k 1)
ri k 1

vk vj
(k 1)
rkj 1

k 1
R(k) R

(k) (k 1) (k 1) (k 1)
rij = rij or rik and rkj

(k)
R(k) rij

R(k)

1 2 3 4
1 2
1 0 1 1 0
(0)
R = 2 0 0 1 1
3 0 0 0 1
4 3
4 1 0 0 0

R(1)

1 (k 1) (k 1) (k 1)
r11 rij rik rkj
0 0 0
r11 r11 r11

1
r11

1 (k 1) (k 1) (k 1)
r12 rij rik rkj
0 0 0
r12 r11 r12

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1
r12

R(0) R(1)
1 k 1 k 1 k 1
r42 rij rik rkj

1 2 3 4
1 0 1 1 0
(0)
R = 2 0 0 1 1
3 0 0 0 1
4 1 0 0 0

0 0 0
r42 r41 r12

1
r42

R(1)

1 2 3 4
1 0 1 1 0

2 0 0 1 0
3 0 0 0 1
4 1 1 0 0

R(1) , R(2) , R(3) R(4)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


R(k 1)

(n 3 )
R(k)

(n 3 )

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Input graph will be
a b

c d

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


0 1 0 0
0 0 1 0
0 0 0 1
0 0 0 0

0 1 0 0
0 0 1 0
0 0 0 1
0 0 0 0

rijk rij(k 1) (k
rik 1) (k
rkj 1)

1
r11 0
r11 0
r11 0
r11

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

1
r12 0 or r 0 and r 0
r12 11 12

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

1
r13 0 or r 0 and r 0
r13 11 13

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

1
r14 0 or r 0 and r 0
r14 11 14

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

1
r21 0 or r 0 and r 0
r21 21 11

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

1
r22 0 or r 0 and r 0
r22 21 12

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

1
r23 0 or r 0 and r 0
r23 21 13

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

1
r24 0 or r 0 and r 0
r24 21 14

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

1
r 31 0 or r 0 and r 0
r 31 31 11

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

1
r 32 0 or r 0 and r 0
r 32 31 12

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

1
r 33 0 or r 0 and r 0
r 33 31 13

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

1
r 34 0 or r 0 and r 0
r 34 31 14

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

1
r41 0 or r 0 and r 0
r41 41 11

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

1
r42 0 or r 0 and r 0
r42 41 12

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

1
r43 0 or r 0 and r 0
r43 41 13

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

1
r44 0 or r 0 and r 0
r44 41 14

rijk rij(k 1) (k
rik 1) (k
rkj 1)

2
r11 1 or r 1 and r 1
r11 12 21

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

2
r12 1 or r 1 and r 1
r12 12 22

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

2
r13 1 or r 1 and r 1
r13 12 23

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

2
r14 1 or r 1 and r 1
r14 12 24

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

2
r21 1 or r 1 and r 1
r21 22 21

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

2
r22 1 or r 1 and r 1
r22 22 22

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

2
r23 1 or r 1 and r 1
r23 22 23

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

2
r24 1 or r 1 and r 1
r24 22 24

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

2
r 31 1 or r 1 and r 1
r 31 32 21

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

2
r 32 1 or r 1 and r 1
r 32 32 22

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

2
r 33 1 or r 1 and r 1
r 33 32 23

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

2
r 34 1 or r 1 and r 1
r 34 32 24

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

2
r41 1 or r 1 and r 1
r41 42 21

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

2
r42 1 or r 1 and r 1
r42 42 22

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

2
r43 1 or r 1 and r 1
r43 42 23

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

2
r44 1 or r 1 and r 1
r44 42 24

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


rijk rij(k 1) (k
rik 1) (k
rkj 1)

3
r11 2 or r 2 and r 2
r11 13 31

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

3
r12 2 or r 2 and r 2
r12 13 32

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

3
r13 2 or r 2 and r 2
r13 13 33

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

3
r14 2 or r 2 and r 2
r14 13 34

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

3
r21 2 or r 2 and r 2
r21 23 31

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

3
r22 2 or r 2 and r 2
r22 23 32

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

3
r23 2 or r 2 and r 2
r23 23 33

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

3
r24 2 or r 2 and r 2
r24 23 34

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

2
r 31 2 or r 2 and r 2
r 31 33 31

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

3
r 32 2 or r 2 and r 2
r 32 33 32

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

3
r 33 2 or r 2 and r 2
r 33 33 33

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

3
r 34 2 or r 2 and r 2
r 34 33 34

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

3
r41 2 or r 2 and r 2
r41 43 31

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

3
r42 2 or r 2 and r 2
r42 43 32

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

3
r43 2 or r 2 and r 2
r43 43 33

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

3
r44 2 or r 2 and r 2
r44 43 34

rijk rij(k 1) (k
rik 1) (k
rkj 1)

4
r11 3 or r 3 and r 3
r11 14 41

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

4
r12 3 or r 3 and r 3
r12 14 42

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

4
r13 3 or r 3 and r 3
r13 14 43

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

4
r14 3 or r 3 and r 3
r14 14 44

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

4
r21 3 or r 3 and r 3
r21 24 41

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

4
r22 3 or r 3 and r 3
r22 24 42

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

4
r23 3 or r 3 and r 3
r23 24 43

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

4
r24 3 or r 3 and r 3
r24 24 44

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

4
r 31 3 or r 3 and r 3
r 31 34 41

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

4
r 32 3 or r 3 and r 3
r 32 34 42

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

4
r 33 3 or r 3 and r 3
r 33 34 43

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

4
r 34 3 or r 3 and r 3
r 34 34 44

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

4
r41 3 or r 3 and r 3
r41 44 41

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

4
r42 3 or r 3 and r 3
r42 44 42

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

4
r43 3 or r 3 and r 3
r43 44 43

rijk rij(k 1) (k
or rik 1) (k
and rkj 1)

4
r44 3 or r 3 and r 3
r44 44 44

n2 n3

n3

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n2

n2 n2 n2
n3

a b c d e

a 0 10   

10
a b b  0 20 40 
70
40
e 50 20
c   0 30 
60 d c
30
d 50   0 60

e 70    0

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


D (0) , D(1) , ... D(k 1) , ... D(n)

D (k) " d ij "


vi vj
D (0)
D (0) vi vj i th j th
D (1)

D (n)

D (n)

5
1 3

8 2
1

D (0)
5
1 3 1 2 3
1 0 8 5
8 2
1
(0) 2 2 0 
D =
3  1 0
2

D (0)
vi vj i th j th
vi vj

5
1 3 1 2 3
1 0 8 5
8 2 (1)
1 D = 2 2 0 7

3  1 0
2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


D (1)

2 nd 3 rd

5
1 3 1 2 3
1 0 8 5
8 2 (2)
1 D = 2 2 0 7

3 3 1 0
2

D (2)

D (1) 3 rd 1 st

3 rd 1 st

5
1 3 1 2 3
1 0 6 5
8 2 (3)
1 D = 2 2 0 7

3 3 1 0
2

D (2) D (3) D (3)

D (3)
D (k) D (3)

D k [i, j] vi vj
{ v 1 , v 2 , v 3 ... v k}
D (0)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


vi vj {v 1 , v 2 , ... v k}
vk
D k [i, j] D (k 1)
[i, j]

vi vj
{ v 1 , v 2 , ... v k} vk
D k [i, j] D (k 1) [i, k] + D (k 1) [k, j]

Shortest path using


intermediate vertices
{ v1,v 2, ... vk}

vk

(k –1)
dkj
(k – 1)
dik
vi vj

Shortest path using


vertices {v1, v2, ... vk–1}

D (k) [i, j] D (k 1) [i, j]

D (k) [i, j] D (k 1) [i, k] + D (k 1) [k, j]

D (k) [i, j] min D (k 1) [i, j] , D (k 1) [i, k] D (k 1) [k, j]

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


(k)
Computing D
using two cases
1 with k 2 without k
Note that this as intermediate vertex
is the basic
operation in
this algorithm

n n n
1
k 1i 1 j 1

n n u
(n 1 1) 1 u l 1
k 1i 1 i l

n n
n
k 1 i 1

n
1 2
i n
2
i 1

n2
n
n2
k 1
n
1 3
n2 n
n3 3
i 1

(n 3 )

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


D (0) , D(1) , .... D(n)

5
1 3 1 2 3
1 0 8 5
8 2 (0) 2 0 
1 W=D = 2
3  1 0
2

D (1)

D (1) D 1 [2, 3] min {D 0 [2, 3] , D 0 [2, 1] D 0 [1, 3]}

D 1 [2, 3]

D (2)
D (2)
D 2 [1, 3] min {D 1 [1, 3] , D 1 [1, 2]

D 1 [2, 3]}

D 2 [1, 3]

D 2 [3, 1]

D 2 [1, 3] D 2 [3, 1] min { D 1 [3, 1], D 1 [3, 2] D 1 [2, 1]

D 2 [3, 1]

D (3)

D (3) D 3 [1, 2] min {D 2 [1, 2] , D 2 [1, 3]

D 2 [3, 2]}

D 3 [1, 2]
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


A B C D

A 0 3

B 2 0

C 7 0 1

D 6 0

k k– 1 k– 1
D min D (k– 1) i, j , D i, k D k, j

k– 1 k– 1 k– 1
D i, j , D i, k D k, j

D 0 1,1 , D 0 1,1 D 0 1,1

k– 1 k– 1 k– 1
D i, j , D i, k D k, j

0 0 0
D 1,2 , D 1,1 D 1,2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


min , 0

k– 1 k– 1 k– 1
D i, j , D i, k D k, j

D 0 1,3 , D 0 1,1 D 0 1,3

k– 1 k– 1 k– 1
D i, j , D i, k D k, j

D 0 1,4 , D 0 1,1 D 0 1,4

3, 0 3

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


0 2 1 8
6 0 3 2
0 4
2 0 3
3 0

D (k) min D (k– 1) [i, j], D (k– 1) [i, k] D (k– 1) [k, j]

D (1) D (2) D (3) D (4) D (5)

D (0)

D (1)

min D (k– 1) [i, j], D (k– 1) [i, k] D (k– 1) [k, j]


min D 0 [1,1], D 0 [1,1] D 0 [1,1]

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


D 1 [1, 1]

min D (k– 1) [i, j], D (k– 1) [i, k] D (k– 1) [k, j]

min D 0 [1,2], D 0 [1,1] D 0 [1,2]

D 1 [1, 2]

min D (k– 1) [i, j], D (k– 1) [i, k] D (k– 1) [k, j]


min D 0 [1,3], D 0 [1,1] D 0 [1,3]

min { , 0 }
D 1 [1, 3]

min D (k– 1) [i, j], D (k– 1) [i, k] D (k– 1) [k, j]


min D 0 [1,4], D 0 [1,1] D 0 [1,4]

D 1 [1, 4]

min D (k– 1) [i, j], D (k– 1) [i, k] D (k– 1) [k, j]


min D 0 [1,5], D 0 [1,1] D 0 [1,5]

D 1 [1, 5]

D1

min D 0 [i, j], D 0 [i, k] D 0 [k, j]


min D 0 [2,1], D 0 [2,1] D 0 [1,1]

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


D 1 [2, 1]

min D 0 [i, j], D 0 [i, k] D 0 [k, j]


min D 0 [2,2], D 0 [2,1] D 0 [1,2]

D 1 [2, 2]

min D 0 [i, j], D 0 [i, k] D 0 [k, j]


min D 0 [2,3], D 0 [2,1] D 0 [1,3]

D 1 [2, 3]

min D 0 [i, j], D 0 [i, k] D 0 [k, j]


min D 0 [2,4], D 0 [2,1] D 0 [1,4]

D 1 [2, 4]

min D 0 [i, j], D 0 [i, k] D 0 [k, j]


min D 0 [2,5], D 0 [2,1] D 0 [1,5]

D 1 [2, 5]

D (1)

min D 0 [i, j], D 0 [i, k] D 0 [k, j]


min D 0 [3,1], D 0 [3,1] D 0 [1,1]

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


D 1 [3, 1]

min D 0 [i, j], D 0 [i, k] D 0 [k, j]


min D 0 [3,2], D 0 [3,1] D 0 [1,2]

D 1 [3, 2]

min D 0 [i, j]+ D 0 [i, k] D 0 [k, j]


min D 0 [3,3], D 0 [3,1] D 0 [1,3]

D 1 [3, 3]

min D 0 [i, j], D 0 [i, k] D 0 [k, j]


min D 0 [3,4], D 0 [3,1] D 0 [1,4]

D 1 [3, 4]

min D 0 [i, j], D 0 [i, k] D 0 [k, j]


min D 0 [3,5], D 0 [3,1] D 0 [1,5]

D 1 [3, 5]

min D 0 [i, j], D 0 [i, k] D 0 [k, j]


min D 0 [4,1], D 0 [4,1] D 0 [1,1]

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


D 1 [4, 1]

min D 0 [i, j], D 0 [i, k] D 0 [k, j]


min D 0 [4,2], D 0 [4,1] D 0 [1,2]

D 1 [4, 2]

min D 0 [i, j], D 0 [i, k] D 0 [k, j]


min D 0 [4,3], D 0 [4,1] D 0 [1,3]

D 1 [4, 3]

min D 0 [i, j], D 0 [i, k] D 0 [k, j]


min D 0 [4,4], D 0 [4,1] D 0 [1,4]

D 1 [4, 4]

min D 0 [i, j], D 0 [i, k] D 0 [k, j]


min D 0 [4,5], D 0 [4,1] D 0 [1,5]

D 1 [4, 5]

min D 0 [i, j], D 0 [i, k] D 0 [k, j]


min D 0 [5,1], D 0 [5,1] D 0 [1,1]

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


D 1 [5, 1]

min D 0 [i, j], D 0 [i, k] D 0 [k, j]


min D 0 [5,2], D 0 [5,1] D 0 [1,2]

D 1 [5, 2]

min D 0 [i, j], D 0 [i, k] D 0 [k, j]


min D 0 [5,3], D 0 [5,1] D 0 [1,3]

D 1 [5, 3]

min D 0 [i, j], D 0 [i, k] D 0 [k, j]


min D 0 [5,4], D 0 [5,1] D 0 [1,4]

D 1 [5, 4]

min D 0 [i, j], D 0 [i, k] D 0 [k, j]


min D 0 [5,5], D 0 [5,1] D 0 [1,5]

D 1 [5, 5]

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


D (1)

D (1)

D (2)

D (3)

D (4)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


D (5)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


The input graph is

5
1 3

8 2
1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Stage 2 Stage 3
3
A D

6 4
8
1
Stage 1 Stage 4

2 10 2
S B E T

3
7 10

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


4
3 1

2 4 7
6
5 7
6
s 1 5 9 t

5
2 3
2
3 3 8
6

8 2
6

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


s 1 5 9 t

5
2 2 3
3 8

Cost = 12

3
2 5
5
6 5
6
8
4 6
6
5 1
1 3 6 10
6
2 5
5 2 9
4
3
7
4 7
2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


d 1, 10
d 1, 10 min 6 d 2, 10 , 5 d 3, 10 , 4 d 4, 10
d 2, 10 min 3 d 5, 10 , 6 d 6, 10 , 5 d 7, 10
d 3, 10 min 5 d 5, 10 , 1 d 6, 10 , 2 d 7, 10
d 4 , 10 min 3 d 6, 10 , 2 d 7, 10
d 5, 10 min 5 d 8, 10 , 6 d 9, 10
d 6, 10 min 4 d 8, 10 , 6 d 9, 10
d 7 , 10 min 2 d 8, 10 , 7 d 9, 10
d 8 , 10
d 9, 10
d 7 , 10 min 2 d 8, 10 , 7 d 9, 10
min 2 6, 7 5
d 7 , 10
d 6, 10 min 4 d 8, 10 , 6 d 9, 10
min 4 6, 6 5
d 6 , 10
d 5, 10 min 5 d 8, 10 , 6 d 9, 10
min 5 6, 6 5
d 5, 10
d 4 , 10 min 3 d 6, 10 , 2 d 7, 10
min 3 10, 2 8
d 4, 10

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


d 3, 10 min 5 d 5, 10 , 1 d 6, 10 , 2 d 7 , 10
min 5 11, 1 10, 2 8
d 3, 10
d 2, 10 min 3 d 5, 10 , 6 d 6, 10 , 5 d 7 , 10
min 3 11, 6 10, 5 8
d 2, 10
d 1, 10 min 6 d 2, 10 , 5 d 3, 10 , 4 d 4 , 10
min 6 13, 5 10, 4 10
d 1 , 10

1 8
2 6
4
4 7 10
2
Cost = 14

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


{a 1 , a 2 , ... a n } a1 a2 a 3 ...
ai
qi ai x ai 1
0 i n

n n

i 1 i 1

I II
A A

B C

C B
III V
IV C
C
B B
A
A B
A C

C ij
rij

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


min { C [i, k 1] C [k 1, j]
i k j
j
Ps
s i

Pi

Table for Table for


cost i.e., root i.e.,
Cost table Root table

j is varying from 0 to n

0 1 2 3 4 5 6
1 1 0 P1

2 0 P2

3 0 P3 C [i, j]
i is
varying
4 0 P4
from
i =1 to n + 1
5 0 P5

6 0 P6

n+1 7 0

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


j
1 2 3 4 5 6

1 i

i 2 i

3 i

4 i

5 i

6 i

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


0 1 2 3 4 1 2 3 4

1 0 0.1 1 1

2 0 0.2 2 2

3 0 0.4 3 3

Fi
ll
up
Fi

di
ll

4 0.3 4 4

ag
0
up

on
di

al
ag

ly
on

5 0
al
ly

C [1, 0] 0
C [2, 1] 0 Using formulae
C [3, 2] 0 C[i, i - 1] = 0 and
C [4, 3] 0 C[n + 1, n] = 0
C [5, 4] 0

C [1, 1] 0.1
C [2, 2] 0.2 Using formula
C [3, 3] 0.4 C[i, i] = P[i]
C [4, 4] 0.3

R [1, 1] 1
R [2, 2] 2 Using formula
R [3, 3] 3 R[i, i] = i
R [4, 4] 4

j
min {C[i, k 1] C[k 1, j]} PS
i k j
S i

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


When k = 1

When k = 2

When k = 2

When k = 3

When k = 3

When k = 4

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


0 1 2 3 4 1 2 3 4

1 0 0.1 0.4 1 1 2

2 0 0.2 0.8 2 2 3

3 0 0.4 1.0 3 3 3

4 0 0.3 4 4

5 0

Cost table Root table

When k = 1

When k = 2

When k = 3

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


When k = 2

When k = 3

When k = 4

0 1 2 3 4 1 2 3 4

1 0 0.1 0.4 1.1 1 1 2 3

2 0 0.2 0.8 1.4 2 2 3 3

3 0 0.4 1.0 3 3 3

4 0 0.3 4 4

5 0

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


When k = 1

When k = 2

When k = 3

When k = 4

Root
0 1 2 3 4 1 2 3 4

1 0 0.1 0.4 1.1 1.7 1 1 2 3 3

2 0 0.2 0.8 1.4 2 2 3 3

3 0 0.4 1.0 3 3 3

4 0 0.3 4 4

5 0

Cost table Root table

1 2 3 4
a[i] do if int while

Key = 3 means int.

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Tk Value of key

T[i,k–1] T[k+1,j]

R[1,4] Key = 3 means "int"

Gives key = 2 means R[1,2] R[4,4] Gives key = 4 means "while"


" if "

R[1,4]
=3 Here k = 3

Here k = 2
R[1,2]
R[4,4] Here k = 4
=2
=4
R[i,k–1]
Here k =1 R[1,1]
means "do" =1

int

if
while

do

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


0 P1
0 P2
0 P3
0 P4
0

Filling up the table diagonally


0 P1
0 P2
0 P3
0 P4
0

Printing the cost table

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Printing the root table

n 1 n m j
1
m 1 i 1 k i

n3
(n 3 )

(n 3 )

(n 2 )

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


min
i k j

q1, q2 , q 3 , q4

min
i k j {C(i, k 1) C k, j } W i, j

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


i
0 1 2 3 4

0 W00 = 2 W11 = 3 W22 = 1 W33 = 1 W44 = 1

1 W01 = 8 W12 = 7 W12 = 3 W34 = 3

j–i
2 W02 = 12 W13 = 9 W24 = 5

3 W03 = 14 W14 = 11

4 W04 = 16

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


min
i k j {C(i, k 1) C k, j }

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


min{C(i, k 1) C kj } W ij

i
0 1 2 3 4
C00 = 0 C11 = 0 C22 = 0 C33 = 0 C44 = 0
0
r00 = 0 r11 = 0 r22 = 0 r33 = 0 r44 = 0

C01 = 8 C12 = 7 C23 = 3 C34 = 3


1
r01 = 1 r12 = 2 r23 = 3 r34 = 4
j–i
C02 = 19 C13 = 12 C24 = 8
2
r02 = 1 r13 = 2 r24 = 3

C03 = 25 C14 = 19
3
r03 = 2 r14 = 2

C04 = 32
4
r04 = 2

if

do int

while

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


i

0 1 2 3 4

0 W00 = 4 W11 = 3 W22 = 1 W33 = 1 W44 = 1

1 W01 = 11 W12 = 6 W23 = 3 W34 = 3

j–i 2 W02 = 14 W13 = 8 W24 = 5

3 W03 = 16 W14 = 10

4
W04 = 18

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


{C i k 1 C kj }

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


{C i , k 1 C kj }

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


0 1 2 3 4

C00 = 0 C11 = 0 C22 = 0 C33 = 0 C44 = 0


0
r00 = 0 r11 = 0 r22 = 0 r33 = 0 r44 = 0

C01 = 11 C12 = 6 C23 = 3 C34 = 3


1
r01 = 1 r12 = 2 r23 = 3 r34 = 4

C02 = 20 C13 = 11 C24 = 8


2
r02 = 1 r13 = 2 r24 = 3

C03 = 27 C14 = 18
3
r03 = 1 r14 = 2

C04 = 36
4
r04 = 1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


a1 [ r04 ]

a1 [ r04 ]

a2 [ r14 ]

a1 [ r04 ]

a2 [ r14 ]

a3 [ r24 ]

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


a1

a2

a3

a4

0 i j 4

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


i

0 1 2 3 4

0 W00 = 4 W11 = 2 W22 = 4 W33 = 1 W44 = 1

1 W01 = 7 W12 = 10 W23 = 7 W34 = 3

j–i 2 W02 = 15 W13 = 13 W24 = 9

3 W03 = 18 W14 = 15

4
W04 = 20

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


min
i k j {C(i, k 1) C kj }

R i, j 1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


C 01 C 23

C 01 C 24

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


0 1 2 3 4

C00 = 0 C11 = 0 C22 = 0 C33 = 0 C44 = 0


0
R00 = 0 R11 = 0 R22 = 0 R33 = 0 R44 = 0

C01 = 7 C12 = 10 C23 = 7 C34 = 3


1
R01 = 1 R12 = 2 R23 = 3 R34 = 4

C02 = 22 C13 = 20 C24 = 12


2
R02 = 2 R13 = 2 R24 = 3

C03 = 32 C14 = 27
3
R03 = 2 R14 = 2

C04 = 39
4
R04 = 2

goto [ R04 ]

goto

[ R01 ] end print [ R24 ]

goto

end print

stop

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


0 i j n

w 1 , w 2 , ... w n
v 1 , v 2 , ... v n

table i 1, j , v i table i 1, j w i wi

wi

j wi

i 1. j wi
i 1, j
i, j

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


maximum table i 1, j , v i table i 1, j w i when j w i
or
table i 1, j if j wi

wi vi
wi

wi vi
wi
table i 1, j , v i table i 1, j w i
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


table 0, 2 , 3 table 0, 0

wi vi
wi
table i 1, j , v i table i 1, j w i
table [0, 3], 3 table 0, 1

wi vi
wi
table i 1, j , v i table i 1, j w i
table 0, 4 , 3 table 0, 2

wi vi
wi
table i 1, j , v i table i 1, j w i

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


wi vi
wi

wi vi
wi

wi vi
wi
table i 1, j , v i table i 1, j w i

wi vi
wi
table i 1, j , v i table i 1, j w i

wi vi
wi
table i 1, j , v i table i 1, j w i

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


wi vi
wi

wi vi
wi

wi vi
wi

wi vi
j wi
table i 1, j , v i table i 1, j w i
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


wi vi
j wi
table i 1, j , v i table i 1, j w i

wi vi
wi

wi vi
wi

wi vi

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


wi

wi vi
wi

wi vi
wi
table [i 1, j], v i table i 1, j w i

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


0 1 2 3 4 5

0 0 0 0 0 0 0

1 0 0 3 3 3 3

2 0 0 3 4 4 7

3 0 0 3 4 5 7

4 0 0 3 4 5 7

i th 4 th

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Capacity
items 0 1 2 3 4 5

0 0 0 0 0 0 0

1 0 0 3 3 3 3

2 0 0 3 4 4 7

3 0 0 3 4 5 7

4 0 0 3 4 5 7

i th 3 rd

0 1 2 3 4 5

0 0 0 0 0 0 0

1 0 0 3 3 3 3

2 0 0 3 4 4 7

3 0 0 3 4 5 7

4 0 0 3 4 5 7

i th
2 nd
k wi

0 1 2 3 4 5

0 0 0 0 0 0 0

1 0 0 3 3 3 3

2 0 0 3 4 4 7

3 0 0 3 4 5 7

4 0 0 3 4 5 7

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


i th
1 st
wi

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n W
1
i 0 j 0

n
W 0 1
i 0

n
W 1
i 0

n n
W 1
i 0 i 0

n n
W 1 1
i 0 i 0

W n 0 1 n 0 1
Wn W n 1
Wn

nW

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1, 2, 3 1, 2, 2 P1 , P2 , P 3 18,16, 6

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


maximum table i 1, j , V i table i 1, j W i
or
table i 1, j if j Wi

Wi Vi
Wi

Wi Vi

Wi Vi

Wi Vi

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Wi Vi
Wi
Vi Wi

Wi Vi

Wi Vi

Wi Vi
Wi

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Wi Vi
Vi Wi

Wi Vi

Wi Vi

3 rd

Item Weight Value

1 2 $12

2 1 $10 Capacity W = 5

3 3 $20

4 2 $15

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


0, j i, 0

0 1 2 3 4 5
0 0 0 0 0 0 0
1 0
2 0
3 0
4 0

maximum {table i 1, j , v i table i 1, j w i


i, j or when j wi
table i 1, j if j wi

1, 1

1, 1 i 1, j
0, 1
1, 1
1, 2

1, 2 max table i 1, j , v i table i 1, j w i


0, 12 0
1, 2

1, 3

1, 3 max table i 1, j , v i table i 1, j w i


0, 12 0
1, 3

1, 4

1, 4 max table i 1, j , v i table i 1, j w i


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


0, 12 0

1, 5

1, 5 max table i 1, j , v i table i 1, j w i


0, 12 0
1, 5

0 1 2 3 4 5
0 0 0 0 0 0 0
1 0 0 12 12 12 12
2 0
3 0
4 0

2, 1

2, 1 max table i 1, j , v i table i 1, j w i


0, 10 0
2, 1

2, 2

2, 2 max table i 1, j , v i table i 1, j w i


table 1, 2 , 10 table 1, 1
12, 10 0
2, 2

2, 3

2, 3 max table i 1, j , v i table i 1, j w i


table 1, 3 , 10 table 1, 2
12, 10 12

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


2, 3

2, 4

2, 4 max table i 1, j , v i table i 1, j w i


table 1, 4 , 10 table 1, 3
2, 4

2, 5

2, 5 max table i 1, j , v i table i 1, j w i


table 1, 5 , 10 table 1, 4
2, 5

0 1 2 3 4 5
0 0 0 0 0 0 0
1 0 0 12 12 12 12
2 0 10 12 22 22 22
3 0
4 0

3, 1

3, 1 i 1, j
2, 1
3, 1

3, 2

3, 2 i 1, j
2, 2
3, 2

3, 3

3, 3 max table i 1, j , v i table i 1, j w i


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


table 2, 3 , 20 table 2, 0
22, 20 0
3, 3

3, 4

3, 4 max table i 1, j , v i table i 1, j w i


table 2, 4 , 20 table 2, 1
22, 20 10
3, 4

3, 5

3, 5 max table i 1, j , v i table i 1, j w i


table 2, 5 , 20 table 2, 2
22, 20 12
3, 5
0 1 2 3 4 5
0 0 0 0 0 0 0
1 0 0 12 12 12 12
2 0 10 12 22 22 22
3 0 10 12 22 30 32
4 0

4, 1

4, 1 i 1, j
3, 1
4, 1

4, 2

4, 2 max table i 1, j , v i table i 1, j w i


table 3, 2 , 15 table 3, 0
12, 15 0
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


4, 2

4, 3

4, 3 max table i 1, j , v i table i 1, j w i


table 3, 3 , 15 table 3, 1
22, 15 10
4, 3

4, 4

4, 4 max table i 1, j , v i table i 1, j w i


table 3, 4 , 15 table 3, 2
30, 15 12
4, 4

4, 5

4, 5 max table i 1, j , v i table i 1, j w i


table 3, 5 , 15 table 3, 3
32, 15 22
4, 5
0 1 2 3 4 5
0 0 0 0 0 0 0
1 0 0 12 12 12 12
2 0 10 12 22 22 22
3 0 10 12 22 30 32
4 0 10 15 25 30 37

i, j i 1, k
4, 5 3, 5

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


i, k i 1, k
3, 3 2, 3

2, 3 1, 3

1, 2 0, 2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


8 5 2
8 7 4
8 9 6

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


maximum{table[i – 1, j], v i table[i – 1, j – w i ]
when j wi
or
table [i – 1, j] if j wi

wi w1 vi v1

wi

wi vi v1
wi

wi vi
wi

wi vi
wi
vi wi

wi vi
wi
vi wi

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


wi w2 vi v2
wi

w2 v2
wi

w2 v2
wi
vi wi

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


w2 v2
wi
vi wi

w2 v2
wi

wi w 3 v 3
wi

wi vi
wi
vi wi

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


w 3 v 3
wi
vi wi

w 3 v 3
wi
vi wi

w 3 v 3
wi
vi wi

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


wi vi
wi

wi vi
wi

wi vi
wi

wi vi
wi

wi vi
wi
vi wi

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


0 1 2 3 4 5
0 0 0 0 0 0 0

1 0 0 0 0 10 10

2 0 0 0 20 20 20

3 0 0 15 20 20 35

4 0 0 15 20 20 35

i th 4 th

0 1 2 3 4 5
0 0 0 0 0 0 0

1 0 0 0 0 10 10

2 0 0 0 20 20 20

3 0 0 15 20 20 35

4 0 0 15 20 20 35

i th 3 rd
wi

0 1 2 3 4 5
0 0 0 0 0 0 0

1 0 0 0 0 10 10

2 0 0 0 20 20 20

3 0 0 15 20 20 35

4 0 0 15 20 20 35

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


2 nd
wi
0 1 2 3 4 5
0 0 0 0 0 0 0

1 0 0 0 0 10 10

2 0 0 0 20 20 20

3 0 0 15 20 20 35

4 0 0 15 20 20 35

i th 1 st
2 nd 3 rd

Choice
of solution Feasible - It should satisfy the problem's constraints.
made
at each Locally optimal - Among all feasible solutions the best
step of choice is to be made.
problem solving
in Greedy Irrevocable - Once the particular choice is made then
approach it should not get changed on subsequent steps.

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


s  select (D) // section of solution from D
Check if the if (Feasible (solution, s)) then
selected solution solution  Union (solution, s);
is feasible or
not.
Make a feasible
} choice and select
return solution optimum solution.

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


wi
wi

xi
n
wi xi c
i 1
n
x xi
i 1 i
xi

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


A A A

5 10 5 10

E B E B E B
7 6 7
3 1 3 1 3 1

D C D C D C
2 2

Graph G wt(T1) = 11 wt(T2) = 21


(a) (b) (c)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


25
1 2

10 14
12

6 7 3

22 17
23 11

5 4
20

1 2

6 7 3

5 4

Total weight = 0

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1 2

10

6 7 3

5 4

Total weight = 10

1 2

10

6 7 3

23

5 4

Total weight = 33

1 2

10

6 7 3

23

5 4
20

Total weight = 53

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1 2

10

6 7 3

23 11

5 4
20

Total weight = 64

1 2

10 14

6 7 3

23 11

5 4
20

Total weight = 78

1 2

10 12 14

6 7 3

23 11

5 4
20

Total weight = 90

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Select an edge such that one
vertex is selected and other is not
and the edge has the least weight.

Obtained edge with minimum wt.

Picking up those vertices yielding


minimum edge.

Mark the corresponding edge of


selected vertices as an edge in
spanning tree.

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


nodes 1 nodes 1 nodes 1
1 1
k 1 i 0 j 0

n 1 n 1 n 1
1 1
k 1 i 0 j 0

n 1

k 1

n 1
(2n)
k 1

n 1
2n 1
k 1

2n 2 2n

n2

(n 2 )

(|V 2|)

(E log 2 V)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Graph will be
10
0 1
5
6
4 1

3
3 2
2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


The MST will be

0 1
5

4 1

3
3 2
2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


36
B H
34 24
16
13 F
33
25
A C 18 37
19 65
23
E G
12 21
14
42 39
D I
30

B
A 13
A C

14 12 A C
14
D 12
D
14
D

13

A C

12
14
D I
30

13
33
A C F

12
14
D I
30

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


B

13
33
A C F
18
12 E
14
D I
30

13
33
A C F
18
12 E G
14 23
D I
30

B H

13 24

33
A C F
18
12 E G
14 23
D I
30
The total length = 167

4 c
a

1
2 6

b d
3

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


c
a a
a
2 1 Required
2 2 MST

b b d
3 b d
3

1
b c

3 4 4 6

5 5
a f d

6 2
8

1
b c
1
b c
3

1
1 b c
b c
3 4
3 4
a f
a f
2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1
b c
3 4

a 5 d
f

This is minimum spanning tree

25
1 2

10 12 14

6 7 3

22 17
23 11

5 4
20

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1 2

6 7 3

5 4

1 2

10

6 7 3

5 4

1 2

10

6 7 3

11

5 4

Total weight = 21
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1 2

10
12

6 7 3

11

5 4

Total weight = 33

1 2

10 14
12

6 7 3

11

5 4

Total weight = 47

1 2

10 14
12

6 7 3

11

5 4
20

Total weight = 67

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1 2

10 14
12

6 7 3

23 11

5 4
20

Total weight = 90

1
b c

5 6
3 4

a d e
6 2

b c

a d e

1
b c

a d e

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1
b c

a d e
2

1
b c

a d e
2

1
b c

5
3

a d e
2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Tree [ ] [ ] is an array in
which the spanning tree
edges are stored.

Computing total cost


of all the minimum
distances.

For each node of


i, the minimum distance
edges are collected in
array tree [ ] [ ] .
The spanning tree
is printed here.

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Graph to be taken as input

1
2 1

2 3 4

3 5
3

1
2 1

2 3 4

V2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


V0
V5

V4 V1
V7

V2
V0 V6
V0 V1
V1 V2 V2 V 3 V3

3
B D
4 8
1 7
A C E
8 3

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


3
B D
4 8
1 7
A C E
8 3

3
B D
4 8
1 7
A C E
8 3

3
B D
4 8
1 7
A C E
8 3

Start from each source node

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Finding minimum
distance from
selected source
node.That is :
source-j represents
min. dist. edge

v1 is next selected destination


vertex with shortest distance.
All such vertices are
accumulated in array
path[ ]

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


The input graph is

3
1 3
4 8
1 7
0 2 4
8 3

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n2

1 1
pi xi w i xi W
n n

0 xi 1
1 i n.

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


( P1 , P2 , ... P7 ) ( w 1 , w 2 , w 3 , ... w 7 )

x1 x2 x3 x4 x5 x6 x7

1 1 1 1 3
w i xi 2 3 5 7 1 1 4 1
2 3 4 7 4

wixi
1 1 1 1 3
pi xi 10 5 15 7 6 1 18 3
2 3 4 7 4

pi x i

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1 1 1 1
w i xi 2 3 5 1 7 1 0 4 1 1
2 3 7 2

wixi
1 1 1 1
pi xi 10 5 15 1 7 6 0 18 1 3
2 3 7 2

pi x i

1 1
w i xi 2 1 3 5 1 7 1 1 4 1 1 1
3 7

wixi
1 1
pi xi 10 1 5 15 1 7 6 1 18 1 3 1
3 7

pi xi

1 1
w i xi 2 1 3 5 1 7 1 0 4 1 1 1
3 7

wixi
1 1
pi xi 10 1 5 15 1 7 6 0 18 1 3 1
3 7

pi x i

2
w i xi 2 1 3 5 1 7 0 1 1 4 1 1 1
3

wixi

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


2
pi xi 10 1 5 15 1 7 0 6 1 18 1 3 1
3

pi x i

2
15
2
24
15

2
1, ,0
15
W i Xi Pi X i

10 2
15 3
2
24
3

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


2
0, ,1
3

Wi X i Pi X i
2
1, ,0
15

2
0, ,1
3

1 1 1
, ,
2 3 4

1
0, 1,
2

This is the basic operation


of selecting x[i] lies
within for loop.
 Time complexity = (n).

( n)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


x1 x1
x2 x2 x3
x1 x2
x 1 and x 2 x3

32
17
10
15
5 7
5

2 3

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


B E D C A
0.1 0.15 0.2 0.25 0.40

Combine these two


nodes and form a singal node.

0.25 Now we have got new


node with probability 0.25.
Then arrange it with
B E other probabilities by
maintaining ascending order.
0.1 0.15

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


0.45 0.25

A
0.40
D C B E
0.2 0.25 0.1 0.15

These two are


combined to
get a new
probability

0.25 0.45

A
0.40
B E D C
0.1 0.15 0.2 0.25

Combine these nodes

0.65

0.45
A
0.25
0.40
D C
0.2 0.25
B E
0.1 0.15

Combine two nodes of probabilities


0.65 and 0.45 to get a root node

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1.10

0.45 0.65

D C A
0.2 0.25 0.25
0.40

B E
0.1 0.15

1.1
0 1

0.45 0.65
0 1 0 1

D C A
0.2 0.25 0.25
0.40
0 1

B E
0.1 0.15

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Number of bits Length of Probability of
per character All the
codeword corresponding character
characters

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


168

91

f
91
j h 77

19 72
j h
19 72

168 188

k m
f
91
92 96
77

j h
19 72

287

l 168 188
119

k m
f
91
92 96
77

j h
19 72

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


287 435

l 188 c
168
119 247

k m
f
91
92 96
77

j h
19 72

570

g 287 435

283

l 188 c
168
119 247

k m
f
91
92 96
77

j h
19 72

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1005
0

570
0 1

g 287 435

283 0 1 0 1

l 188 c
168
119 0 1 247
0 1

k m
f
91
92 96
77 0 1

j h
19 72

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


2

a:1 h:1

2 2

a:1 h:1 v w

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


4

' ':2 e:2

t:2 2

a:1 h:1

2 l:3

v:1 w:1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


7

o:3 4

' ':2 e:2

4 5

t:2 2 2 l:3

a:1 h:1 v:1 w:1

16

0 1

7 9
0 1 0 1

o:3 4 4 5
0 1 0 1 0 1

' ':2 e:2 t:2 2 2 l:3


0 1 0 1

a:1 h:1 v:1 w:1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


00 1100 010 111 1101 100 111 011 1011 00 00 010 011 1010 010
o v ' ' l w t l e h o o ' ' e a ' '

0.3

0.1 0.2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


0.65

0.3 0.35

0.1 0.2

0.9

0.4 0.5

1.15

0.5 0.65

0.3 0.35

0.1 0.2

2.05

0.9 1.15

0.4 0.5 0.5 0.65

0.3 0.35

0.1 0.2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


2.05
1
0

0.9 1.15
0 1 0 1

0.4 0.5 0.5 0.65


0 1

0.3 0.35
0 1

0.1 0.2

c
c

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


2

H:1 R:1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


3

X:1 A:2

I:2 L:2

M:2 P:2

S:2 2

H:1 R:1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


7

3 – (space):4

X:1 A:2

4 4

I:2 L:2 M:2 P:1

4 E:5

S:2 2

H:1 R:1

15

7 8

3 – (space):4 4 4

X:1 A:2 I:2 L:2 M:2 P:1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


24

15
9

4 E:5 7 8

S:2 2 3 – (space):4 4 4

H:1 R:1 X:1 A:2 I:2 L:2 M:2 P:1

24
0 1

15
9
0 1
0 1

4 E:5 7 8
0 1 0 1 0 1

S:2 2 3 – (space):4 4 4
0 1 0 1 0 1 0 1

H:1 R:1 X:1 A:2 I:2 L:2 M:2 P:1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


B

1 3 2

1 4
A C D

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1 1

n n

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


p(i) q(i)
1 i n 1 i n

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


(k) (k– 1) (k– 1) (k– 1)
rij rij rik rkj

(k)
rij i th j th R(K)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


(k) (k– 1) (k– 1) (k– 1)
rij rij rik rkj

table [i 1, j], Vi table [i 1, j Wi ]


max
if j Wi

Wi

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


s  select (D) // section of solution from D
Check if the if (Feasible (solution, s)) then
selected solution solution  Union (solution, s);
is feasible or
not.
Make a feasible
} choice and select
return solution optimum solution.

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


V2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Not a plannar graph Plannar graph

Yellow

Red

Green Blue

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


ROW2

Test
x y z s1 t u p RHS Ratio

s 1 1 1 1 0 0 0 40 40/1 = 40
t 2 1 –1 0 –1 0 0 10 10/2 = 5
Pivot
u 0 –1 +1 0 0 –1 0 10 10/0 = 0
p –2 –3 –1 0 0 0 1 0

R1 2R1 R2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


R1 R3
R2 R3
R4 R3

R3 R3 R1 R4 R4 R1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


y

3x y
x y 1
2x y 4
x 0, y 0

x y 1
2x y 4
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


x y

y
–x  y = 1

x
–1 (0,0)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


y

3 –x  y = 1

x
(0,0)
–2 –1 1 2 3

2x  y = 4

y-axis

2 (1,2)

(0,1) 1

(2,0)
(0,0) x-axis
1 2 3 4

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


3
4

3
x y
4
x 0, y 0

1200 ( 200, 0)
( 0, 400)
3
x y
4

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


3 (333, 0)
x y 250
4 (0, 250)

400

300
250

200
2x y 400
3 100
x y 250
4 Area of
– – – feasible
solution (0,0) x
1.25 x 150 333
100 200 300 400

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


y

500

400 100 x + 40 y

300

200

130
100
Feasible 50 x +100 y
region
(0,0) x
140
100 200 300 400 500 600

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


The original program maximize Dual linear program minimize
Maximize : 3a + 2b + c
3x + 4y + 6z

Subject to

2a + b + c < = 3
a + b + c < = 4
3a + 3b + 6c < = 6

2x + y + 3z > = 3

x + y + 3z > = 2

x + y + 6z > = 1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


f(u, v)
v V

f f(s, v)
v V

5
7

8 3
s 2 t

4
2 6

1 3 4

F(u,v)
3 C(u,v)

5/5
5/7

s 7/8 2 3/3 t

4/4
5/6
2/3
2/3
1 4

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


3

5/5
5/7

3/3 t
s 7/8 2

5/6
4/4
2/3
2/3
1 4

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


cf(u,v) = c(u,v) – f(u,v)
= 7– 5
cf(u,v) = 2

3
5
5

3 t
1
s 2

7
5 1
4/4
1

2 1
1 4

3
5
5

3 t
1
s 2

7
5 1
4
1

2 1
1 4

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


15/20
A D

7/8 17/19

s 12 7 t
4/8

5/7 3/3

B C
12/14

cut

7 5

8 3
s 2 t

4
2 6

2 3 t

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


3 3
7 5 7 5

4/8 3 4 3
s 2 t s 2 t
4

4/4 4 2
4/6 4
2 2

1 3 4 1 3 4

Maximum flow = 4

3 3
5/5 5 5
5/7
2
4 3 4 3
s 2 t s 2 t
4 4
4
2 2
4 4
2 2
4
1 3 4 1 3 4
Residual graph
Graph with augmenting path Maximum flow = 4 + 5 = 9

3 3
5 5 5 5

2 2
4 3 1 0
s 2 t s 2 t
4 4+3=7 3
4 4
2 2
4 4
2 2

1 3 4 1 3 4

(By refering graph in step 1)


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


3
5
2 5
7
3
s 2 t
1
4 2 4
2

3
1 4

3 3
5 5 5
5
2 2
7 7
3 3
s 2 t s 2 t
1 1
4 4
0 2
0
6
2
4+2=6 2
1
1 4 1 4
1
2

3
5 5
2
7
3
s 2 t
1

2 6
2
1 4
1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


3
5
7

8 3
s 2 t

4
2 6

3
1 4

3
5 5
2
7
3
s 2 t
1

2/2 6/6

2/3
1 3

1
u v
10
9
s 2 3 4 6
7
5
x y
2

1
u v
10 100
9
s 2 3 4 6 t
7
5 100
x y
2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1
u v
10 100
9
s 2 3 4 6 t
7
5 100
x y
2

0
u v
9 99
1

s 1 2 3 9 4 6 1
t

5 7 100
x y
2
Maximum flow = 1

0
u v
9 99
1

s 1 2 3 4 6 1
t
9

7
5 100
x y
2

0
u v
2 =7 99
9– 1
2 =3 1
s 1+ t
2–2 3+2 9 4 6
=0 =5
98
=
2
7 – 2
5 0
10 2
=
0+2=2 +
0
x y
2–2=0 Maximum flow = 1 + 2 = 3

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


0
u v 99
7
1
s 3 1 t
9
0 5 4 6

7 98
5
2

2
x y
0

0
u v 99
–5
7 =9
1 4
1+
s 3 0 5 5=
6 t
4 6
4
5=
9–

5
5

98
5
=

2
0

5
7
2
x y  Maximum flow = 3 + 5 = 8
0

0
u v
7 94
1
s 3 0 5 6 t
4 6
4
5
0 98
5 2
7
2
x y

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1
u v
7 94

s 3 6 t
4 6
5 4
5
5 98
2
7
2
x y

G V, E

1
A
2
B
3
C
4
D

E
X Y

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


V

A B C D E Ma = {(D, 3), (E, 4)}

1 2 3 4 5

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Ma

A B C D E Mb = {(A,2), (D, 3), (E, 4)}

1 2 3 4 5

A B C D E

1 2 3 4 5

A B C D E

1 2 3 4 5

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


A B C D E

1 2 3 4 5

Queue : A,B,C

A B C D E

1 2 3 4 5

Queue : A B C

Augment from 1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


A B C D E

1 2 3 4 5

Queue : B C

A B C D E

1 2 3 4 5

Queue : C 3 D

A B C D E

1 2 3 4 5

Queue : C 4 E

Augment from 5

A B C D E

1 2 3 4 5

Queue empty Maximum matching

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1 2 3

4 5 6

1 2 3
1 2 3

4 5 6
4 5 6
Queue 1 2 3
Queue = 1 2 3
Augment from 5

1 2 3
1 2 3

4 5 6
4 5 6
Queue 2 3 5
Queue = 2 3
Augment from 4

1 2 3
1 2 3

4 5 6
4 5 6
Queue : 2 5 1

Queue 2
Augment from 6
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1 2 3

4 5 6

Queue empty
Maximum matching

A
4 1
2

B C D

6 3
3 5

E F G H

Tp
Tp
Tp Tp

Tp

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


p

Subtree Subtree Subtree


x1 x2 x3

Tp

Tp m(Tx )
child
nodes
x

mnr (Tp )
max w(p – x) + mnr (Tx )
Tp Max
child x + m – (Ty )
y x

A
4 1
2

B C D

6
3 5 3

Weight = 0 E F G Weight = 5 H Weight = 0

Weight = 0
5

I Weight = 0

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


A

B C D

6
3

E G H

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


5

3 4

2 5 2
1 2 3 6

3 1
4

3 4

2 5 2
1 2 3 6

3 1
4 Maxflow = 2
Path : 1 2 3 6

3 4

2/2 2/5 2/2


1 2 3 6

3 1
4

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


5

3 4

2
2 2
1 2 3 6
3

3 1
4

3 4

2
2 2
1 2 3 6
3

3 1
4
Maxflow = 2 + 1 = 3
Path : 1 4 3 2 5 6

5
1/3 1/4

2 1/5 2
1 2 3 6

1/3 1/1
4

5
2 3
1 1
4
2 2
1 2 3 6
2
1

1 1
4

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


A R

P B

S G

U Y

V W

A R

P B

S G

U Y

V W

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


A R

P B

S G

U Y

V W

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Women

Men

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


(n 2 )

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


f

a
b e
d
g

c
The cut points : d, e, f

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n2

n2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


O(n 2 ) n2 n2

n2

log 2 n

i) Is first bit zero ? No 1


ii) Is second bit zero ? Yes 0
The numbers is 8 (encoded in binary form)
iii) Is third bit zero ? Yes 0
iv) Is forth bit zero ? Yes 0

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


log 2 n
log 2 n

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Condition

Transition

Outcome/ result

Yes No
x>y

Yes No Yes No
x>z y>z

x z y z

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


log n

2h

Yes No
x<y

Yes No Yes No
x<z y<z

Yes No Yes No Yes No


y<z y<x x<z y<x

No Yes

x<y<z x<z<y z<x<y y<x<z y<z<x z<y<x

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


log n!

log n!
log n! log 2 2 n (n e) n

log 2 n log2
n log 2 n n log 2 e
2 2
n log 2 n
n log 2 n

Yes No
x<y

Yes No Yes No
y<z x<z

x<y<z Yes No y<x<z Yes No


x<z y<z

x<z<y z<x<y y<z<x z<y<x

log 2 n!

log n 1
log (n 1)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


a[0] a[1] a[2] a[3]

left right
sublist sublist
Mid

log 3 n

log 3 (2n 1)

< a[1] >

a[1]
< a[0] > < a[2] >
Mid element

= =

<a[0] a[0] a[0],a[1] a[1],a[2] a[2]


< a[3] >

=
Search left sublist
a[2],a[3] a[3] >a[3]

Search right sublist

log (n 1)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


< a[1] >

< a[0] > < a[2] >

<a[0] a[0],a[1] a[1],a[2]


< a[3] >

a[2],a[3] >a[3]

a:b:c
The decision tree will be

a:b
a<=b a>b

a:c First
b:c
iteration
b<=c b>c a<=c a>c

a, b, c a:c b, a, c b:c
a<=c a>c b<=c b>c Second
iteration
a, c, b c, a, b b, c, a c, b, a

(n – 1) th (n – 1) th n th

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n (n – 1)
2

O(n 2 )

O(n 2 )

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Computational complexity problems

P - class NP - class

NP - complete NP - hard

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


NP - problems

P problems

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


NP complete
P class problems
problems
NP

NP hard
problems

NP

P NP - complete

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


(Hi k Qq k Ti j k ) (H(i j)(k 1) Qq(K 1) Tij(K 1) )

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


a g e b f h

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1 1 0
1

1
1
0
1

0
1 0 1

AND NOT OR

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


a g e b f h

1 1 1

2 4 2 4 2 4

3 3

Graph G Clique size = 3 Clique size = 4

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


C1 C2 ... C k
1 i n.

, i | is a literal in C i
,i , , j |i j and

(a 1 a2 a 3) (a 1 a2 a 3)
C1 C2

<a1, 1> <a1, 2>

<a2, 1> <a2, 2>

<a3, 1> <a3, 2>

<a1, 1> <a1, 2>

A clique
<a2, 1> <a2, 2> of size 2.

<a3, 1> <a3, 2>

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


e

c d

a b g

c d W = {a,b}

a b g

c d W = {a,b,c,e}

a b g

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


e

c d W = {a,b,c,e,d,g}

a b g

a a

b c

(a b c) (a b c) (a c d)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


a a b b c c

b c

(a b c) (a b c) (a c d)

c
a a b c d d
b

a a a

b c b c c d

10
a 6 8
1
a b c c d d
b

a a a

2 5 c d
c
b 3 c 4
b
7 9

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


V' V

A B

A' A B
F

F
C D

C D

Graph G Graph G''

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


When
T halts for t
M1
(t,dT) ACCEPT halt

input REJECT halt

When T does
not halt for t

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


T halts for
M2 input t = dT

dT Loops
Copy T (dT, dT) Modified M1
(input) Halts

T does not
halt for t = dT

M2 halts for
M2 input dM2

dM2 Loop

(input) Halt

M2 dose not
halt for input dM2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1
1 4
2 3

2 18 34 50

2 4 1 4 1 4
3 1 3
3 2 2

TM
3 8 13 19 24 29 35 40 45 51 56 61

3 4 2 4 2 3 3 4 1 4 1 3 2 4 1 4 1 2 2 3 1 3 1 2

4 6 9 11 14 16 20 22 25 27 30 32 36 38 41 43 46 48 52 54 57 59 62 64

4 3 4 2 3 2 4 3 4 1 3 1 4 2 4 1 2 1 3 2 3 1 2 1

5 7 10 12 15 17 21 23 26 28 31 33 37 39 42 44 47 49 53 55 58 60 63 65

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1

Problem
state

Answer
1

state
4
2

Solution
states

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


The next queen - if
is placed on the
paths marked by
dotted lines then they
can attack each other

1st 1st

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


2 nd 3 rd

3 rd

2 nd

3 rd
(4 th

Q Q Q Q
Q Q Q
Q Q
Q

Thus solution
is obtained.

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1
1 4
2 3

2 18 34 50

2 4 1 4 1 4
3 1 3
3 2 2

TM
3 8 13 19 24 29 35 40 45 51 56 61

3 4 2 4 2 3 3 4 1 4 1 3 2 4 1 4 1 2 2 3 1 3 1 2

4 6 9 11 14 16 20 22 25 27 30 32 36 38 41 43 46 48 52 54 57 59 62 64

4 3 4 2 3 2 4 3 4 1 3 1 4 2 4 1 2 1 3 2 3 1 2 1

5 7 10 12 15 17 21 23 26 28 31 33 37 39 42 44 47 49 53 55 58 60 63 65

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Solution
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1 2 3 4 5 6 7 8

1 Q1

2 Q2

3 Q3

4 Q4

5 Q5

6 Q6

If we place Here Q1 Here Q2 Here Q4


Q7 here, Q4 can attack can attack can attack
can attack Q7 Q7 Q7
Here Q3 Here Q5
can attack Here Q4 can attack
Q7 can attack Q7
Q7

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


This function checks if
two queens are on the
same diagonal or not.

Row by row each queen


is placed by satisfying
constraints.

Same column by 2 queen’s

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


This formula gives that 2 queens
are on same diagonal

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


We start from
st
1 row and
go row by row.

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


P1 P2 P1 P2

1 2 3 4 5 6 7 8

1 Q

2 Q

3 Q

4 Q (4,1) = P1

5 (5,2) If we place
queen here
6 then P2 = (5,2)
4 – 1 = 5 –2
7  Diagonal
conflicts
8 occur. Hence
try another
position.

Queen Positions Action


1 2 3 4 5 6 7 8
6 4 7 1 Start
6 4 7 1 2 As 4 – 1 = 5 – 2
conflict occurs.
6 4 7 1 3 5 – 3 = 4 –1 or
5  3 = 4  1  Feasible
6 4 7 1 3 2 As 5  3 = 6  2. It
is not feasible.
6 4 7 1 3 5 Feasible
6 4 7 1 3 5 2 Feasible
List ends and we
6 4 7 1 3 5 2 8 have got feasible
sequence.

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


A B

C D

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


A

B C F

D F B

D
F E D

E
C C E

C
E F C
Stuck ! Not a Hamiltonian
Hamiltonian cycle
Hamiltonian cycle
cycle

Hamiltonian
cycle

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


A B
C F
D E

0
A

1
B

2 9
C F

3 6 10
D E E

4 7 8 11
E D F C
Dead end Dead end 12
5
F D
Dead end
A
Solution

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


a

c d
f g
e h

i j

k m n
l o

p
q
r

s t

b e h

b e h

c d

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


a

b e h

c d s f

f i t c k

e k h b l p
dead

s g i

p t d c

r h j b dead

g i

d n l

j o

i m m

l c dead n

Solution a

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


a

c d
f g
e h

i j

k m n
l o

p q
r

s t

{S 1 , ..... S n }

S1 S2 ..... Sn

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


0
1
ith W/O
W 1

1
2 W 0
ith /O W
W 2 /O

2
2

ith
W
3 1
W
/O 2 2

W/O 5
5
With 5

W
th 5

/O
3

Wi

5
W 1
8 ith
6

ou 7 2
With

t6

W/O
3

6
9
With 8

W/O
1
8

With 8
Solution 11 3

9
Prune

Solution

0
with 3 w/o 3
3
with 5 0
with 5 w/o 5
Sum 8
with 6 w/o 6 5
0
Sum 14 w/o 6
8 with 6
with 7 w/o 7 with 7 w/o 7
6 0
15 8 with 7 w/o 7
21 14
with 2 Solution 13 6
w/o 2 with 2 w/o 2
Prune 16 14 Sum
it 15 13

Prune Solution
it

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


0
5 With
ith out
5
W
Sum
5 0 W
W ith
10 ith
ou 10 ou
ith t1 ith t1
W 0 W 0
Sum
15 5 10 0

W
Wi

With 12

With 12
ith
12

tho

12

ou
ith

ut

t1
ith
W

12

2
W

27 15 17 5 22 12

W/O 13
With 13
13

W/O 13
W/

Not a W/O
O1
With

Solution 13
3

28 15 30 5 22 12
Prune Not a
With 15

With 15

it Solution W/O
Solution This node 15
does not 12
30 20 give solution
Prune

With 18
it  prune it
Solution Prune
30

Solution

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


0,1,55
W
Here initially ith7 /O
W 7
First element = 7
Index = 2 and 7,2,48 0,2,48
Remaining sum = 55 – 7 = 48 W
1 /O
h1
t 11
Wi
18,3,37 7,3,37
W
13 /O
th 13
Wi
31,4,24 7,4,24

With 24
Solution 31,5,0
Solution = {7,11,13}

Solution
Solution = {7,24}

w 5,7,10,12,15,18,20

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


0
With 5 W/O 5

5 0
With 7 W/O 7 W/O 7

0
W/O 10
12 W/O 10
With 10 5
0

W
W/O 12

/O
h1

10
22 0

Wit
With 12 W/O 12 12
5 With 15
15
W/O 20 15
34 20
22 ith With 18 W/O 18
With 15 W 15
W/O 15 35 15
33
With 20
49 34 Solution

35
Prune
it
Solution

index 1

j 1

j index

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


n

i 1

Value of node's bound


is not better than best solution

Reasons for
terminating
search paths
in state space There is no feasible solution
tree of branch
and bound

A new better solution can be


obtained rather than
continueing further

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Start
Lower = 2+3+1+4
bound (LB) = 10

a1 a2 a3 a4


LB = 10+3+1+4 =18 LB = 2+3+1+4 =10 LB = 7+4+5+4 =10 LB = 8+3+1+6 =18

Selects a = 3rd element


Select as a = 1st element 1
1
10 2 7 8 Person a 10 2 7 8

We can not
6 4 3 7 Select 6 4 3 7 choose
minimum 3 and 1

5 8 1 8 values 5 8 1 8 they are under
from same column.
remaining Hence next
7 6 10 4 rows 7 6 10 4 smaller value
is selected
3
Do not 3
Do not select
2 nd
select any Select a = 2 element from this
number from 1 column
this column
10 2 7 8 Person a
2

6 4 3 7
Select
a=4
minimum
5 8 1 8 values
from 10 2 7 8
remaining
7 6 10 4 rows 6 4 3 7
3

Do not 5 8 1 8
select any 2
number from
this column 7 6 10 4

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Start
LB = 10

a1 a2 a3 a4


LB = 18 LB = 10 LB = 20 LB = 18

This is a
promising
b1 b3 b4 node
and it is
LB = 2+6+1+4 =13 LB = 2+3+5+4 = 14 LB = 2+7+1+7 = 17
expanded

10 2 7 8 10 2 7 8

6 4 3 7 6 4 3 7

5 8 1 8 Minimum 5 8 1 8
selected
from
7 6 10 4 remaining 7 6 10 4
rows

Do not Do not
select 10 2 7 8
select from
remaining these
elements 6 4 3 7 columns
from these the values
columns of c and d
5 8 1 8

7 6 10 4

Do not
select
remaining
elements
from these
columns

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Start
LB = 10

a1 a2 a3 a4


LB = 17 LB = 10 LB = 20 LB = 18
Not feasible Not feasible

b1 b3 b4


LB = 13 LB = 14 LB = 17
Not feasible Not feasible

c  3 then c4
d4
LB = 2+6+1+4 =13 LB = 2+6+8+10
= 26
Inferior
solution
Job 1 Job 2 Job 3 Job 4

10 2 7 8 Person a

6 4 3 7 Person b

5 8 1 8 Person c

7 6 10 4 Person d

It is a solution
because
i) We have got
minimum values from
each column
ii) No value selected
is under same column

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Start
LB = 10

a1 a2 a3 a4


LB = 18 LB = 10 LB = 20 LB = 18

Live node

b1 b3 b4


LB = 13 LB = 14 LB = 17

Start
LB = 10

a1 a2 a3 a4


LB = 18 LB = 10 LB = 20 LB = 18

This node becomes Promising node is


b1 b3 b4 expanded to find
promising node
for optimal solution. LB = 13 LB = 14 LB = 17 optimal solution.

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


9 2 7 8

6 4 3 7 2 + 3 + 1 + 4 = 10
Hence set Lower Bound (LB)
5 8 1 8 = 10 for root node

7 6 9 4

0
Start
Lower
Bound (LB) = 2 + 3 + 1 + 4 = 10

1 2 3 4
a1 a2 a3 a4
LB = 9 + 3 + 1 + 4 = 17 LB = 2 + 3 + 1 + 4 = 10 LB = 7 + 4 + 5 + 4 = 20 LB = 8 + 3 + 1 + 6 = 18

9 2 7 8 9 2 7 8 9 2 7 8 9 2 7 8

6 4 3 7 6 4 3 7 6 4 3 7 6 4 3 7

5 8 1 8 5 8 1 8 5 8 1 8 5 8 1 8

7 6 9 4 7 6 9 4 7 6 9 4 7 6 9 4

Exclude Exclude Exclude Exclude


this column this column this column this column

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


0
Start
Lower
Bound (LB) = 2 + 3 + 1 + 4 = 10

1 2 3 4
a1 a2 a3 a4
LB = 9 + 3 + 1 + 4 = 17 LB = 2 + 3 + 1 + 4 = 10 LB = 7 + 4 + 5 + 4 = 20 LB = 8 + 3 + 1 + 6 = 18

5 6 7
b1 b3 b4
LB = 2 + 6 + 1 + 4 = 13 LB = 2 + 3 + 5 + 4 = 14 LB = 2 + 7 + 1 + 7 = 17

9 2 7 8 9 2 7 8 9 2 7 8

6 4 3 7 6 4 3 7 6 4 3 7

5 8 1 8 5 8 1 8 5 8 1 8

7 6 9 4 7 6 9 4 7 6 9 4

Exclude Exclude Exclude


these columns these columns these columns

0
start
Lower
Bound(LB) = 2  3  1  4 = 10

1 2 3 4
a1 a2 a3 a4
LB = 9  3  1  4 = 17 LB = 2  3  1  4 = 10 LB = 7  4  5  4 = 20 LB = 8  3  1  6 = 18

5 6 7
b1 b3 b4
LB = 2  6  1  4 = 13 LB = 2  3  5  4 = 14 LB = 2  7  1  7 = 17

8 9
c3 c4
d4 d3
LB = 2  6  1  4 = 13 LB = 2  6  8  9 = 25

9 2 7 8 9 2 7 8

6 4 3 7 6 4 3 7

5 8 1 8 5 8 1 8

7 6 9 4 7 6 9 4

Solution Inferior solution


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Job 1 Job 2 Job 3 Job 4

9 2 7 8 Person a The solution is

6 4 3 7 Person b Person a = Job 2


Person b = Job 1
5 8 1 8 Person c
Person c = Job 3
7 6 9 4 Person d Person d = Job 4

Wi
Vj

v1 w1 v2 w2 v 3 w 3 ..... v n w n

(v i 1 wi 1)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


( v (i 1) w (i 1) )

v (i 1) w (i 1) = v1 w1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


0

w=0,v=0

ub = 100

With 1 W/O 1

w = 4 , v = 40 w=0,v=0
I II
ub = 76 ub = 60

With 2 W/O 2
Inferior to node 8

w = 11 w = 4 , v = 40
III IV
ub = 70

With 3 W/O 3

w = 9 , v = 65 w = 4 , v = 40 VI
V
ub = 69 ub = 64

With 4 W/O 4
Inferior to node VIII
because profit is
w = 12 w = 9 , v = 65 less.
VII
VIII
ub = 65

Solution

vi 1 wi 1 v2 w2 42 7
v W–w v i 1 w i 1
40 10 – 4 6

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


v2 w2 42 7
v W–w v i 1 w i 1
0 10 – 0 6

v 3 w 3

v W–w v 3 w 3

40 10 – 4 5

w1 w 3

v1 v 3

v4 w4 12 3
v W–w v4 w4
65 10 – 9 4

v i 1 w i 1 v4 w4
v (i 1) w (i 1)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


vi 1 wi 1 v5 w5
v (i 1) w (i 1)

v (W w) v i 1 wi 1

v1 w1 v 2 w 2 ... v i w i

vi w i

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


vi 1 wi 1 vi 1 wi 1

v1 w1 v2 w2

vi 1 wi 1 vi 1 wi 1

vi 1 wi 1
v2 w2

vi 1 wi 1

vi 1 wi 1 vi 1 wi 1
v 3 w 3 v 3 /w 3

vi 1 wi 1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


vi 1 wi 1
v 3 w 3

vi 1 wi 1

vi 1 wi 1 vi wi
1 1
v4 w4 v4 w4

vi 1 wi 1 vi wi
1 1

vi 1 wi 1
v4 w4

vi 1 wi 1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


vi 1 wi 1
v5 w5

vi 1 wi 1

w=0 v=0
ub = 160
with 1 w/o 1
1 2

w = 10 v = 100 w=0 v=0


ub = 154 ub = 144

with 2 w/o 2
with 2 w/o 2
3 4 5 6

w = 17 w = 10 v = 100 w = 7 v = 63 w=0 v=0


ub = 142 ub = 126 ub = 112
with 3 w/o 3 Inferior to
node 12
7 8 9 10

w = 18 w = 10 v = 100 w = 15 v = 119 w = 7 v = 63
ub = 118 ub = 122 ub = 90

with 4 w/o 4 Inferior to


node 12
Can be 11 12
solution but
inferior to w = 19 w = 15 v = 119
node 12 ub = 119
Solution
{item 2, item 3}

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


p1 w1 p2 w2 p3 w3

pi wi

ub p (n w) (p i 1 w i 1)

ub (45 3)

(p i 1 wi 1)

pi 1 w i 1
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


p (m w) (p i 1 w i 1)

pi 1 w i 1 p3 w3 5

(p i 1 w i 1)

pi 1 w i 1 p 3 w3 5

p (m w) (p i 1 w i 1)

pi 1 w i+ 1 p4 w4 = 2

p (m w) (p i 1 w i 1)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


p=0 w=0
I
ub = 225

With Without item 1


item 1

p = 45 w=3 p=0 w=0


II III
ub = 117 ub = 90

With
item 2 Without item 2

p = 70 w=8 p = 45 w=3
IV V
ub = 105 ub = 57

With
Without item 3
item 3

p = 90 w = 12 p = 45 w=3
VI VII
ub = 96 ub = 69

Solution

p i 1 wi 1 p 4 w4 2
p (m w) (p i 1 w i 1)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


pi / wi p2 / w2 p3 / w3

(pi,) (wi,) pi / wi

p (W – w) (pi+ 1 / wi+ 1)

pi p1 wi w1
p1 w1

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


p (W – w)(pi+ 1 / wi+ 1)

p (W – w)(pi+ 1 / wi+ 1)
0 (15 – 0)(p2 / w2)

p1 p2 w1 w2
p3 35
w3 7

p (W – w)(p i 1 /wi 1)

p3 35
w3 7
p (W – w)(pi 1 / wi 1)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


p=0 w=0

ub = 135

w/o item 1
item 1

p = 18 w=2 p=0 w=0

ub = 122 ub = 120

item 2 w/o item 2

p = 58 w=7 p = 18 w=2

ub = 98 ub = 83

p1 p2 p3 w1 w2 w3
p4 10
w4 5

p (W – w)(p i 1 /wi 1)

p1 p2 w1 w2
p4 10
w4 5

p (W – w)(pi 1 / wi 1)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


p1 p2 p3 p4 w1 w2 w 3 w4

p1 p2 p3 w1 w2 w 3

P5 2
W5 1
p (W – w)(pi 1 / wi 1)

p=0 w=0

ub = 135

w/o item 1
item 1

p = 18 w=2 p=0 w=0

ub = 122 ub = 120

item 2 w/o item 2

p = 58 w=7 p = 18 w=2

ub = 98 ub = 83

item 3 w/o item 3

p = 93 w = 14 p = 58 w=7

ub = 95 ub = 74

item 4 w/o item 4

p = 103 w = 19 p = 93 w = 14

ub = ub = 95
Not feasible

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


p1 p2 p3 p5 w1 w2 w 3 w5
p6 4
w6 4
p (W – w)(pi 1 / wi 1)

p=0 w=0

ub = 135

w/o item 1
item 1

p = 18 w=2 p=0 w=0

ub = 122 ub = 120

item 2 w/o item 2

p = 58 w=7 p = 18 w=2

ub = 98 ub = 83

item 3 w/o item 3

p = 93 w = 14 p = 58 w=7

ub = 95 ub = 74

item 4 w/o item 4

p = 103 w = 19 p = 93 w = 14

ub = ub = 95
Not feasible With
item 5

p = 95 w = 15

ub = 95
Solution

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Sum of costs of the two least
2
v V
cost edges adjacent to v

3
a b
5 10
9 1 7
6

c 4
d

2 3

Sum of costs of the two least


2
cost edges adjacent to v

a b c d e

[(1 3) ( 3 6) (1 2) ( 3 4) ( 2 3)] 2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1
2
v

a
LB = 14

1 2 3 4
a-b a-c a-d a-e
LB = 14 LB = 14 LB = 16 LB = 20
b can't be before c
5 6 7
a-b-c a-b-d a-b-e
LB = 16 LB = 16 LB = 19

8 9 10 11
a-b-c-d a-b-c-e a-b-d-c a-b-d-e
LB = 25 LB = 19 LB = 25 LB = 16

a-b-c- a-b-c- a-b-d- a-b-d-


d-e-a e-d-a c-e-a e-c-a Solution

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


a b c d e f

6 21 7 11 5 9 9 12 7 14 5 15 / 2

27 18 14 21 21 20 / 2

2
a b

5 3
8 7
1
c d

Sum of cost of two least cost edges adjacent to the vertex v / 2

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


a
LB = 61

a-b a-c a-d a-e a-f

a-e-b
a-e-c
a-e-d a-e-f

a-e-b-c a-e-b-d a-e-b-f

The tour will


be
a-e-b-d-f-c-a
The cost of
a-e-b-d-c a-e-b-d-f
tour will be
73

a-e-b-d-f-c rounding a-e-b-d-f-a

to form
circuit

a b c d

(2 5) (2 3) (1 5) (1 3) / 2

can not consider a – b


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


can not consider ( a - c)
because it is not adjacent to b

a
LB = 11

1 2 3
a-b a-c a-d
LB = 11 LB = 11 LB = 14

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


a
LB = 11

1 2 3
a-b a-c a-d
LB = 11 LB = 11 LB = 14

4 5
a-b-c a-b-d
LB = 15 LB = 11

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


a
LB = 11

a-b a-c a-d


LB = 11 LB = 11 LB = 14

a-b-c a-b-d
LB = 15 LB = 11

a - b - d -c
LB = 11

a-b-d-c-a
Solution

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1

x1 = 1 4
2 3

2 18 34 50

2 4 1 4 1
= 4 1 3
x2 3 3 2 2

TM
3 8 13 19 24 29 35 40 45 51 56 61

=3
4 2 4 2 3 2 3 1 4 1 3 2 4 1 4 1 2 2 3 1 3

3
x
4 6 9 11 14 16 20 22 25 27 30 32 36 38 41 43 46 48 52 54 57 59 62 64
x4 = 4 3 4 2 3 2 3 2 4 1 3 1 2 4 4 1 2 1 3 2 3 1

5 7 10 12 15 17 21 23 26 28 31 33 37 39 42 44 47 49 53 55 58 60 63 65

TECHNICAL PUBLICATIONS - An up thrust for knowledge


1
1

x1 = 1 x1 = 4
x1 = 2 x1 = 3

2 2 3 18 4 34 50
5

x2 = 1 x2 = 4
x2 = 3

TM
11 12
3 6 8 7 13 8 9 19 10 24 29 35 13 40 14 45 15 51 16 56 17 61

   x3 = 1 x3 = 3   
18 20 21 28 29
19
9 11 14 16 22 30 23 32 24 36 25 38 26 52 27 54 57 59

   x4 = 3     
30
31

TECHNICAL PUBLICATIONS - An up thrust for knowledge


answer
node
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


f sa
r sa
f s*

sa r sa f sa
f s*
r sa r sa

RA
RA

r sa c

f sa c f s*

Nearest Neighbor Algorithm


Approximation
Algorithms
for TSP
Twice - around- the tree algorithm

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


2
A B
4
7 3
4

D C
2

f(S a )

sa
sa

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


r sa
f sa
r sa
f s*

14
12
r sa

sa

r sa
f sa
r sa
f s*

7 w
r sa
12

r sa r sa

0 14 4 10
14 0 5 8 7
4 5 0 9 16
10 8 9 0 32
7 16 32 0

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


f(S a ) 58
r(S a ) 1.29
f(S*) 45

f sa 1
r sa log 2 n 1
f s* 2

12
A E

9
3 7
9
9 12
B D
8

5 12

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


A E

B D

A E

B D

w 1 , w 2 ... w n v 1 , v 2 , ... v n

Greedy Algorithm
Approximation
Algorithms for
Knapsack problem
Approximation schemes

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


vi /wi
vi /wi

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


This will produce the total
weight of 9 with profit of $72

vi /wi
vi /wi

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


6
4 7
7

6
42 49
7

f s ka 1
1
f s* k

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


(x 1 , x 2 , x 3 ... x n )
(x 1 , x 2 , x 3 , ... x n )

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


P1 P2 l
P1 P2
l
l

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


{S 1 , ..... S n }

S1 S2 ..... Sn

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


O(n k )
O(n k )

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


  Yes Yes
Poly. reduction Algorithm for B
No No
Decision algorithm for A

C worst (n) log 2 n 1


log 2 (n 1)

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge

You might also like