Professional Documents
Culture Documents
Anna University
Choice Based Credit System (CBCS)
Semester - IV (CSE/IT)
® 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)
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
Correct result
Input Output
Computer
Errors if any
TM
Algorithm Body
It consists of logical body of the algorithm
by making use of various programming
constructs and assignment statement.
TM
TM
TM
TM
TM
Decide on :
(1) Computational means
(2) Exact Vs. approximatesolving
(3) Data structures
(4) Algorithmic design techniques
Design an algorithm
Prove correctness
TM
Algorithm
Pseudo code
Flow chart
TM
Transition
Input-output statement
Conditional statement
Start
Input the
value of a
Input the
value of b
c= a+b
Display the
value of c
Stop
TM
Analysis of algorithms
Measuring
time Measuring
complexity Computing running
order of time
growth of
algorithms
TM
n 1
n (1) = n times
for outer for initialization
loop of j
TM
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
n2
TM
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
c g(n)
f(n)
n0 n
f(n) O(g(n))
n2
n2
n2
TM
( 2) 2
( 3) 2
' '
n0
TM
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
n3 (n) 2
c1 c2
c2 g(n)
f(n)
c1 g(n)
n
Theta notation f(n) (g(n))
TM
a 1n 3 a 2n 2 a 3n c (n 3 )
O(n 2 ) O(2 n )
an
( g ( n))
TM
TM
c g(n)
c g(n)
x8
TM
n2
n3
2n
TM
3n3 2n 2 10 O (n 3 )
f(n)
lim
n g(n)
n3
TM
n 3 4n 3 4n 105n 3 4n 2 6n O(n 3 )
2n 1
TM
O (n 2 )
TM
O (n 2 )
TM
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
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
[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
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
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
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
O(n/3) O(2n/3) n
Log 3/2n
O (n log n)
log 3 2 n log 3 2 n
n
8T n2 (1)
2
log n– 1
n2 2 k ( 2 3 ) log n
k 0
TM
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
(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
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
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
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
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
(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
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
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
2k
2
2k 1
2 k– 2
20
TM
n
W kcn
2k
2k
n
W kcn
n
2k
3k
TM
3(3 2 x(n – 3)
3 3 x(n – 3)
3 k x(n – k)
3 n– 1 x(n – (n – 1))
TM
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
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
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
TM
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
M (n 2) 1 1 M (n 2) 2
(n)
A B C
TM
1
32
4
5
A B C
3 1
4
5 2
TM
1
4 2
5 3
A B C
1 3
2
5 4
A B C
21
3
5 4
TM
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
2 2
2 2
1 11 1
1 1 1 1
TM
n 2 n 2
n 2
TM
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
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
r2 r 1
b b2 4ac
2a
r2 r 1
TM
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
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
1 n 1) n ]
[( (
5
1 1) n
(
5
1 n
5
n
( )
TM
n 1
1
i 1
n
Using the rule 1= n n
i 1
TM
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
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
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
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
Interchange
Q2 the names Q1
Q1 and Q2
10 20 30 10 20 30
TM
Interchange
Q2 Queue names Q1
10 20 10 20
Q1 Q2
Interchange
Q2 Queue names Q1
10 10
TM
O(n 2 )
TM
Dynamic algorithm
Static algorithm
visualization
visualization
(includes continuous
(includes still images)
movie-like presentations)
TM
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
n0
c1 c2
c1 c 2 g(n)
TM
TM
c g(n) n0
C1 C2
C 1 g(n) C 2 g(n)
TM
n(n – 1) n2
2 30
n2
25
20
15
10 n (n – 1)
2
5
0 1 2 3 4 5
TM
500
2i – 1 i2
i= 1
O(n) 2
n 0
TM
TM
TM
TM
an
25
TM
TM
Trial#1 0 0 0 0 1
Trial#2 0 0 0 0 1
Pattern
matching
0 0 0 0 1
TM
1 996
x, y P x, y
2 2
d Pi , Pj xi – xj yi –yj
Pi Pj
n–1
j i 1
TM
TM
Step 13 Step 14
1 Extreme
2 points
7
6
8 3
5
4
Convex Hull
Pi
TM
2 2
1
4 3
4
2 3
5
TM
5 3
8 7
1
c d
wi vi
wi vi
TM
wi vi
wi vi
wi vi
wi vi
wi vi
wi vi
wi vi
wi
wi
wi
i th j th
TM
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
TM
Problem of size n
Solution to Solution to
sub problem 1 sub problem 2
Solution to original
problem
TM
Solution 1 Solution 2
Solution to
(a0 + ... + an–1)
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
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
TM
TM
TM
) 2
) 3
TM
TM
TM
10 20 30 40 50 60
Left Right
sublist Mid sublist
Array A [ ]
40 50 60
Mid
TM
temp
10 20 30 40 50 60 NULL
mid
temp ?
40 50 60 NULL
mid
TM
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
Mid
element
55
3 14 27 31 39 42 70 74 81 85 93 98
Mid Mid
TM
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]
yes 1 1 1 1 41
C avg 1 1 2 2 3 4 4 6
13 13 13 13 13
TM
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
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
TM
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 89 175
25 70 122
TM
TM
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
TM
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
k = 1. It is advanced later on
temp
10 20
if part of algorithm
0 1 gets executed
k
moves ahead
TM
A (left sublist) A (right sublist)
20 30 40 70 10 50 60
i j
TM
TM
nd
bd
21
(n log 2 n)
(n log 2 n)
n 2k
TM
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
(n log 2 n)
TM
TM
TM
TM
TM
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 jj
Swap A [i] and A [j]
0 1 2 3 4 5 6 7
5 3 1 4 8 2 9 7
Pivot ii jj
TM
0 1 2 3 5 6 7
2 3 1 4 8 9 7
Pivot i jj 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
2 3
3 4
Pivot i/j
0 1 2 3 4 5 6 7
1 2 3 4 5 7 8 9
TM
TM
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
2
(T(0) T(1) ..... T(n 2) T(n 1) cn)
n
T(n) T(n 1) 2c
n 1 n n 1
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
(nlog n)
TM
Heap sort
TM
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
18
18 12 14 8 7 10 9
8 7 10 9
TM
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
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
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
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
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
A S
Y Q U E
S T I O N
A S
Y Q U E
S T I O N
TM
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
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
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
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
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
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
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
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
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
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
(p 1 , p 2 , p 3 , ... p n )
p1 p n/ 2
p n/ 2 1 pn
TM
(c) Merge the lower and upper (d) Concatenate the joined
hulls by dotted lines hulls together
(g) Concatenate the two convex hulls to form a final convex hull.
TM
TM
TM
TM
TM
C worst (1)
TM
A [mid]
4 5 6
… 9 23 54 …
A [mid]
A [mid]
TM
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
TM
C worst log 2 n 1
log 2 13 1
TM
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
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
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
(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
TM
d 1 1, d 2 4 , d 3 6, n 3, N 8
TM
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
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
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
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
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
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
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
TM
, 1
,1 0
C i – 1, j , 1 C i, j – d i
TM
2, 1
1
C i – 1, j , 1 C i, j – d i
C 1,7 , 1 C 2,3
, 1
TM
d 3 5 1 coin
TM
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
Initialising first
column by 0
Total number of
coins in the change
(nN)
n
(a b) n
k
(0 k n)
TM
TM
TM
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
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
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
TM
d-a-b-c-d
R(0) R(0)
R(0) R(0)
R(1)
R(1) R(0)
TM
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
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
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
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
TM
(n 3 )
R(k)
(n 3 )
TM
c d
TM
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 (3)
D (k) D (3)
D k [i, j] vi vj
{ v 1 , v 2 , v 3 ... v k}
D (0)
TM
vi vj
{ v 1 , v 2 , ... v k} vk
D k [i, j] D (k 1) [i, k] + D (k 1) [k, j]
vk
(k –1)
dkj
(k – 1)
dik
vi vj
TM
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
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 [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 [3, 1]
D (3)
D 2 [3, 2]}
D 3 [1, 2]
TM
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
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
k– 1 k– 1 k– 1
D i, j , D i, k D k, j
k– 1 k– 1 k– 1
D i, j , D i, k D k, j
3, 0 3
TM
D (0)
D (1)
TM
D 1 [1, 2]
min { , 0 }
D 1 [1, 3]
D 1 [1, 4]
D 1 [1, 5]
D1
TM
D 1 [2, 2]
D 1 [2, 3]
D 1 [2, 4]
D 1 [2, 5]
D (1)
TM
D 1 [3, 2]
D 1 [3, 3]
D 1 [3, 4]
D 1 [3, 5]
TM
D 1 [4, 2]
D 1 [4, 3]
D 1 [4, 4]
D 1 [4, 5]
TM
D 1 [5, 2]
D 1 [5, 3]
D 1 [5, 4]
D 1 [5, 5]
TM
D (1)
D (2)
D (3)
D (4)
TM
TM
5
1 3
8 2
1
TM
6 4
8
1
Stage 1 Stage 4
2 10 2
S B E T
3
7 10
TM
2 4 7
6
5 7
6
s 1 5 9 t
5
2 3
2
3 3 8
6
8 2
6
TM
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
TM
1 8
2 6
4
4 7 10
2
Cost = 14
TM
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
Pi
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
1 i
i 2 i
3 i
4 i
5 i
6 i
TM
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
When k = 2
When k = 2
When k = 3
When k = 3
When k = 4
TM
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
When k = 1
When k = 2
When k = 3
TM
When k = 3
When k = 4
0 1 2 3 4 1 2 3 4
3 0 0.4 1.0 3 3 3
4 0 0.3 4 4
5 0
TM
When k = 2
When k = 3
When k = 4
Root
0 1 2 3 4 1 2 3 4
3 0 0.4 1.0 3 3 3
4 0 0.3 4 4
5 0
1 2 3 4
a[i] do if int while
TM
T[i,k–1] T[k+1,j]
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
TM
n 1 n m j
1
m 1 i 1 k i
n3
(n 3 )
(n 3 )
(n 2 )
TM
q1, q2 , q 3 , q4
min
i k j {C(i, k 1) C k, j } W i, j
TM
j–i
2 W02 = 12 W13 = 9 W24 = 5
3 W03 = 14 W14 = 11
4 W04 = 16
TM
TM
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
C03 = 25 C14 = 19
3
r03 = 2 r14 = 2
C04 = 32
4
r04 = 2
if
do int
while
TM
0 1 2 3 4
3 W03 = 16 W14 = 10
4
W04 = 18
TM
TM
TM
C03 = 27 C14 = 18
3
r03 = 1 r14 = 2
C04 = 36
4
r04 = 1
TM
a1 [ r04 ]
a2 [ r14 ]
a1 [ r04 ]
a2 [ r14 ]
a3 [ r24 ]
TM
a2
a3
a4
0 i j 4
TM
0 1 2 3 4
3 W03 = 18 W14 = 15
4
W04 = 20
TM
R i, j 1
TM
C 01 C 24
TM
C03 = 32 C14 = 27
3
R03 = 2 R14 = 2
C04 = 39
4
R04 = 2
goto [ R04 ]
goto
goto
end print
stop
TM
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
wi vi
wi
wi vi
wi
table i 1, j , v i table i 1, j w i
TM
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
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
wi vi
wi
wi vi
wi
wi vi
j wi
table i 1, j , v i table i 1, j w i
TM
wi vi
wi
wi vi
wi
wi vi
TM
wi vi
wi
wi vi
wi
table [i 1, j], v i table i 1, j w i
TM
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
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
TM
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
TM
Wi Vi
Wi
Wi Vi
Wi Vi
Wi Vi
TM
Wi Vi
Wi Vi
Wi Vi
Wi
TM
Wi Vi
Wi Vi
3 rd
1 2 $12
2 1 $10 Capacity W = 5
3 3 $20
4 2 $15
TM
0 1 2 3 4 5
0 0 0 0 0 0 0
1 0
2 0
3 0
4 0
1, 1
1, 1 i 1, j
0, 1
1, 1
1, 2
1, 3
1, 4
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, 2
2, 3
TM
2, 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, 4
3, 5
4, 1
4, 1 i 1, j
3, 1
4, 1
4, 2
4, 3
4, 4
4, 5
i, j i 1, k
4, 5 3, 5
TM
2, 3 1, 3
1, 2 0, 2
TM
TM
wi w1 vi v1
wi
wi vi v1
wi
wi vi
wi
wi vi
wi
vi wi
wi vi
wi
vi wi
TM
w2 v2
wi
w2 v2
wi
vi wi
TM
w2 v2
wi
wi w 3 v 3
wi
wi vi
wi
vi wi
TM
w 3 v 3
wi
vi wi
w 3 v 3
wi
vi wi
TM
wi vi
wi
wi vi
wi
wi vi
wi
wi vi
wi
vi wi
TM
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
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
TM
xi
n
wi xi c
i 1
n
x xi
i 1 i
xi
TM
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
TM
10 14
12
6 7 3
22 17
23 11
5 4
20
1 2
6 7 3
5 4
Total weight = 0
TM
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
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
TM
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
3
3 2
2
TM
0 1
5
4 1
3
3 2
2
TM
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
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
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
a 5 d
f
25
1 2
10 12 14
6 7 3
22 17
23 11
5 4
20
TM
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
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
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
a d e
2
1
b c
a d e
2
1
b c
5
3
a d e
2
TM
TM
1
2 1
2 3 4
3 5
3
1
2 1
2 3 4
V2
TM
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
3
B D
4 8
1 7
A C E
8 3
3
B D
4 8
1 7
A C E
8 3
TM
TM
3
1 3
4 8
1 7
0 2 4
8 3
TM
1 1
pi xi w i xi W
n n
0 xi 1
1 i n.
TM
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
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
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
Wi X i Pi X i
2
1, ,0
15
2
0, ,1
3
1 1 1
, ,
2 3 4
1
0, 1,
2
( n)
TM
32
17
10
15
5 7
5
2 3
TM
TM
A
0.40
D C B E
0.2 0.25 0.1 0.15
0.25 0.45
A
0.40
B E D C
0.1 0.15 0.2 0.25
0.65
0.45
A
0.25
0.40
D C
0.2 0.25
B E
0.1 0.15
TM
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
TM
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
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
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
a:1 h:1
2 2
a:1 h:1 v w
TM
t:2 2
a:1 h:1
2 l:3
v:1 w:1
TM
o:3 4
4 5
t:2 2 2 l:3
16
0 1
7 9
0 1 0 1
o:3 4 4 5
0 1 0 1 0 1
TM
0.3
0.1 0.2
TM
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.3 0.35
0.1 0.2
TM
0.9 1.15
0 1 0 1
0.3 0.35
0 1
0.1 0.2
c
c
TM
H:1 R:1
TM
X:1 A:2
I:2 L:2
M:2 P:2
S:2 2
H:1 R:1
TM
3 – (space):4
X:1 A:2
4 4
4 E:5
S:2 2
H:1 R:1
15
7 8
3 – (space):4 4 4
TM
15
9
4 E:5 7 8
S:2 2 3 – (space):4 4 4
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
TM
1 3 2
1 4
A C D
TM
n n
TM
TM
(k)
rij i th j th R(K)
TM
Wi
TM
TM
TM
Yellow
Red
Green Blue
TM
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
R3 R3 R1 R4 R4 R1
TM
3x y
x y 1
2x y 4
x 0, y 0
x y 1
2x y 4
TM
y
–x y = 1
x
–1 (0,0)
TM
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
3
x y
4
x 0, y 0
1200 ( 200, 0)
( 0, 400)
3
x y
4
TM
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
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
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
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
5/5
5/7
3/3 t
s 7/8 2
5/6
4/4
2/3
2/3
1 4
TM
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
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
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
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
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
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
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
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
1 2 3 4 5
TM
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
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
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
TM
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
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
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
5
I Weight = 0
TM
B C D
6
3
E G H
TM
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
3 1
4
TM
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
P B
S G
U Y
V W
A R
P B
S G
U Y
V W
TM
P B
S G
U Y
V W
TM
Men
TM
TM
a
b e
d
g
c
The cut points : d, e, f
TM
n2
TM
n2
log 2 n
TM
TM
Transition
Outcome/ result
Yes No
x>y
Yes No Yes No
x>z y>z
x z y z
TM
2h
Yes No
x<y
Yes No Yes No
x<z y<z
No Yes
TM
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
log 2 n!
log n 1
log (n 1)
TM
left right
sublist sublist
Mid
log 3 n
log 3 (2n 1)
a[1]
< a[0] > < a[2] >
Mid element
= =
=
Search left sublist
a[2],a[3] a[3] >a[3]
log (n 1)
TM
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
O(n 2 )
O(n 2 )
TM
P - class NP - class
NP - complete NP - hard
TM
P problems
TM
NP hard
problems
NP
P NP - complete
TM
TM
TM
1
1
0
1
0
1 0 1
AND NOT OR
TM
1 1 1
2 4 2 4 2 4
3 3
TM
, i | is a literal in C i
,i , , j |i j and
(a 1 a2 a 3) (a 1 a2 a 3)
C1 C2
A clique
<a2, 1> <a2, 2> of size 2.
TM
c d
a b g
c d W = {a,b}
a b g
c d W = {a,b,c,e}
a b g
TM
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
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
A B
A' A B
F
F
C D
C D
TM
When T does
not halt for t
TM
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
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
Problem
state
Answer
1
state
4
2
Solution
states
TM
1st 1st
TM
3 rd
2 nd
3 rd
(4 th
Q Q Q Q
Q Q Q
Q Q
Q
Thus solution
is obtained.
TM
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
1 Q1
2 Q2
3 Q3
4 Q4
5 Q5
6 Q6
TM
TM
TM
TM
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.
TM
C D
TM
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
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
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
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
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
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
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
With 24
Solution 31,5,0
Solution = {7,11,13}
Solution
Solution = {7,24}
w 5,7,10,12,15,18,20
TM
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
i 1
Reasons for
terminating
search paths
in state space There is no feasible solution
tree of branch
and bound
TM
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
This is a
promising
b1 b3 b4 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
c 3 then c4
d4
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
Live node
Start
LB = 10
TM
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
a1 a2 a3 a4
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
TM
1 2 3 4
a1 a2 a3 a4
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
b1 b3 b4
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
0
start
Lower
Bound(LB) = 2 3 1 4 = 10
1 2 3 4
a1 a2 a3 a4
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
b1 b3 b4
LB = 2 6 1 4 = 13 LB = 2 3 5 4 = 14 LB = 2 7 1 7 = 17
8 9
c3 c4
d4 d3
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
Wi
Vj
v1 w1 v2 w2 v 3 w 3 ..... v n w n
(v i 1 wi 1)
TM
v (i 1) w (i 1) = v1 w1
TM
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
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
v (W w) v i 1 wi 1
v1 w1 v 2 w 2 ... v i w i
vi w i
TM
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
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
vi 1 wi 1
w=0 v=0
ub = 160
with 1 w/o 1
1 2
with 2 w/o 2
with 2 w/o 2
3 4 5 6
w = 18 w = 10 v = 100 w = 15 v = 119 w = 7 v = 63
ub = 118 ub = 122 ub = 90
TM
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
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
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
(pi,) (wi,) pi / wi
p (W – w) (pi+ 1 / wi+ 1)
pi p1 wi w1
p1 w1
TM
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
ub = 135
w/o item 1
item 1
ub = 122 ub = 120
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
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
ub = 122 ub = 120
p = 58 w=7 p = 18 w=2
ub = 98 ub = 83
p = 93 w = 14 p = 58 w=7
ub = 95 ub = 74
p = 103 w = 19 p = 93 w = 14
ub = ub = 95
Not feasible
TM
p=0 w=0
ub = 135
w/o item 1
item 1
ub = 122 ub = 120
p = 58 w=7 p = 18 w=2
ub = 98 ub = 83
p = 93 w = 14 p = 58 w=7
ub = 95 ub = 74
p = 103 w = 19 p = 93 w = 14
ub = ub = 95
Not feasible With
item 5
p = 95 w = 15
ub = 95
Solution
TM
3
a b
5 10
9 1 7
6
c 4
d
2 3
a b c d e
[(1 3) ( 3 6) (1 2) ( 3 4) ( 2 3)] 2
TM
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
TM
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
TM
a-e-b
a-e-c
a-e-d a-e-f
to form
circuit
a b c d
(2 5) (2 3) (1 5) (1 3) / 2
a
LB = 11
1 2 3
a-b a-c a-d
LB = 11 LB = 11 LB = 14
TM
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
a-b-c a-b-d
LB = 15 LB = 11
a - b - d -c
LB = 11
a-b-d-c-a
Solution
TM
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
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
sa r sa f sa
f s*
r sa r sa
RA
RA
r sa c
f sa c f s*
TM
D C
2
f(S a )
sa
sa
TM
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
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
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
TM
vi /wi
vi /wi
TM
6
42 49
7
f s ka 1
1
f s* k
TM
TM
TM
S1 S2 ..... Sn
TM
TM
TM