Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
14 views98 pages

Daa Unit-2

The document discusses various algorithms and their complexities, focusing on sorting and pattern matching techniques. It presents a series of steps and examples related to the convex hull, divide and conquer strategies, and the efficiency of sorting algorithms. Additionally, it includes graphical representations and comparisons of different data structures and their operations.

Uploaded by

gnana
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views98 pages

Daa Unit-2

The document discusses various algorithms and their complexities, focusing on sorting and pattern matching techniques. It presents a series of steps and examples related to the convex hull, divide and conquer strategies, and the efficiency of sorting algorithms. Additionally, it includes graphical representations and comparisons of different data structures and their operations.

Uploaded by

gnana
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 98

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

You might also like