B i n a r y s e a r c h S e a r c h i n g S u - - PowerPoint PPT Presentation

b i n a r y s e a r c h
SMART_READER_LITE
LIVE PREVIEW

B i n a r y s e a r c h S e a r c h i n g S u - - PowerPoint PPT Presentation

B i n a r y s e a r c h S e a r c h i n g S u p p o s e I g i v e y o u a n a r r a y , a n d a s k y o u t o fj n d i f a p a r t i c u l a r v a l u e i s i n i t ,


slide-1
SLIDE 1

B i n a r y s e a r c h

slide-2
SLIDE 2

S e a r c h i n g

S u p p

  • s

e I g i v e y

  • u

a n a r r a y , a n d a s k y

  • u

t

  • fj

n d i f a p a r t i c u l a r v a l u e i s i n i t , s a y 4 . 5 3 9 2 8 7 3 2 1 4 Tie

  • n

l y w a y i s t

  • l
  • k

a t e a c h e l e m e n t i n t u r n . Tii s i s c a l l e d l i n e a r s e a r c h . Y

  • u

m i g h t h a v e t

  • l
  • k

a t e v e r y e l e m e n t b e f

  • r

e y

  • u

fj n d t h e r i g h t

  • n

e .

slide-3
SLIDE 3

S e a r c h i n g

B u t w h a t i f t h e a r r a y i s s

  • r

t e d ? 1 2 2 3 3 4 5 7 8 9 Tie n w e c a n u s e b i n a r y s e a r c h .

slide-4
SLIDE 4

B i n a r y s e a r c h

S u p p

  • s

e w e w a n t t

  • l
  • k

f

  • r

4 . W e s t a r t b y l

  • k

i n g a t t h e e l e m e n t h a l f w a y a l

  • n

g t h e a r r a y , w h i c h h a p p e n s t

  • b

e 3 . 1 2 2 3 3 4 5 7 8 9

slide-5
SLIDE 5

B i n a r y s e a r c h

3 i s l e s s t h a n 4 . S i n c e t h e a r r a y i s s

  • r

t e d , w e k n

  • w

t h a t 4 m u s t c

  • m

e a f t e r 3 . W e c a n i g n

  • r

e e v e r y t h i n g b e f

  • r

e 3 . 1 2 2 3 3 4 5 7 8 9

slide-6
SLIDE 6

B i n a r y s e a r c h

N

  • w

w e r e p e a t t h e p r

  • c

e s s . W e l

  • k

a t t h e e l e m e n t h a l f w a y a l

  • n

g w h a t ' s l e f t

  • f

t h e a r r a y . Tii s h a p p e n s t

  • b

e 7 . 1 2 2 3 3 4 5 7 8 9

slide-7
SLIDE 7

B i n a r y s e a r c h

7 i s g r e a t e r t h a n 4 . S i n c e t h e a r r a y i s s

  • r

t e d , w e k n

  • w

t h a t 4 m u s t c

  • m

e b e f

  • r

e 7 . W e c a n i g n

  • r

e e v e r y t h i n g a f t e r 7 . 1 2 2 3 3 4 5 7 8 9

slide-8
SLIDE 8

B i n a r y s e a r c h

W e r e p e a t t h e p r

  • c

e s s . W e l

  • k

h a l f w a y a l

  • n

g t h e a r r a y a g a i n . W e fj n d 4 ! 1 2 2 3 3 4 5 7 8 9

slide-9
SLIDE 9

P e r f

  • r

m a n c e

  • f

b i n a r y s e a r c h

B i n a r y s e a r c h r e p e a t e d l y c h

  • p

s t h e a r r a y i n h a l f

  • I

f w e d

  • u

b l e t h e s i z e

  • f

t h e a r r a y , w e n e e d t

  • l
  • k

a t

  • n

e m

  • r

e a r r a y e l e m e n t

  • Wi

t h a n a r r a y

  • f

s i z e 2

n

, a f t e r n t r i e s , w e a r e d

  • w

n t

  • 1

e l e m e n t

  • O

n a n a r r a y

  • f

s i z e n t a k e s O ( l

  • g

n ) t i m e !

O n a n a r r a y

  • f

a b i l l i

  • n

e l e m e n t s , n e e d t

  • s

e a r c h 3 e l e m e n t s ( c

  • m

p a r e d t

  • a

b i l l i

  • n

t r i e s f

  • r

l i n e a r s e a r c h ! )

slide-10
SLIDE 10

I m p l e m e n t i n g b i n a r y s e a r c h

K e e p t w

  • i

n d i c e s lo a n d hi. Tie y r e p r e s e n t t h e p a r t

  • f

t h e a r r a y t

  • s

e a r c h . L e t mid = (lo + hi) / 2 a n d l

  • k

a t a[mid] – t h e n e i t h e r s e t lo = mid+1,

  • r

hi = mid-1, d e p e n d i n g

  • n

t h e v a l u e

  • f

a[mid]

1 2 2 3 3 4 5 7 8 9

l

  • h

i mi d

slide-11
SLIDE 11

I m p l e m e n t i n g b i n a r y s e a r c h

K e e p t w

  • i

n d i c e s lo a n d hi. Tie y r e p r e s e n t t h e p a r t

  • f

t h e a r r a y t

  • s

e a r c h . L e t mid = (lo + hi) / 2 a n d l

  • k

a t a[mid] – t h e n e i t h e r s e t lo = mid+1,

  • r

hi = mid-1, d e p e n d i n g

  • n

t h e v a l u e

  • f

a[mid]

1 2 2 3 3 4 5 7 8 9

l

  • h

i mi d hi = mid - 1

slide-12
SLIDE 12

S

  • r

t i n g

slide-13
SLIDE 13

S

  • r

t i n g

5 3 9 2 8 7 3 2 1 4 1 2 2 3 3 4 5 7 8 9 Z i l l i

  • n

s

  • f

s

  • r

t i n g a l g

  • r

i t h m s ( b u b b l e s

  • r

t , i n s e r t i

  • n

s

  • r

t , s e l e c t i

  • n

s

  • r

t , q u i c k s

  • r

t , h e a p s

  • r

t , m e r g e s

  • r

t , s h e l l s

  • r

t , c

  • u

n t i n g s

  • r

t , r a d i x s

  • r

t , … )

slide-14
SLIDE 14

I n s e r t i

  • n

s

  • r

t

I m a g i n e s

  • m

e

  • n

e i s d e a l i n g y

  • u

c a r d s . Wh e n e v e r y

  • u

g e t a n e w c a r d y

  • u

p u t i t i n t

  • t

h e r i g h t p l a c e i n y

  • u

r h a n d : Tii s i s t h e i d e a

  • f

i n s e r t i

  • n

s

  • r

t .

slide-15
SLIDE 15

I n s e r t i

  • n

s

  • r

t

S

  • r

t i n g : S t a r t b y “ p i c k i n g u p ” t h e 5 : 5 3 9 2 8 5

slide-16
SLIDE 16

I n s e r t i

  • n

s

  • r

t

S

  • r

t i n g : Tie n i n s e r t t h e 3 i n t

  • t

h e r i g h t p l a c e : 5 3 9 2 8 3 5

slide-17
SLIDE 17

I n s e r t i

  • n

s

  • r

t

S

  • r

t i n g : Tie n t h e 9 : 5 3 9 2 8 3 5 9

slide-18
SLIDE 18

I n s e r t i

  • n

s

  • r

t

S

  • r

t i n g : Tie n t h e 2 : 5 3 9 2 8 2 3 5 9

slide-19
SLIDE 19

I n s e r t i

  • n

s

  • r

t

S

  • r

t i n g : F i n a l l y t h e 8 : 5 3 9 2 8 2 3 5 8 9

slide-20
SLIDE 20

C

  • m

p l e x i t y

  • f

i n s e r t i

  • n

s

  • r

t

I n s e r t i

  • n

s

  • r

t d

  • e

s n i n s e r t i

  • n

s f

  • r

a n a r r a y

  • f

s i z e n D

  • e

s t h i s m e a n i t i s O ( n ) ? N

  • !

A n i n s e r t i

  • n

i s n

  • t

c

  • n

s t a n t t i m e . T

  • i

n s e r t i n t

  • a

s

  • r

t e d a r r a y , y

  • u

m u s t m

  • v

e a l l t h e e l e m e n t s u p

  • n

e , w h i c h i s O ( n ) . Tiu s t

  • t

a l i s O ( n

2

) .

slide-21
SLIDE 21

I n

  • p

l a c e i n s e r t i

  • n

s

  • r

t

Tii s v e r s i

  • n
  • f

i n s e r t i

  • n

s

  • r

t n e e d s t

  • m

a k e a n e w a r r a y t

  • h
  • l

d t h e r e s u l t A n i n

  • p

l a c e s

  • r

t i n g a l g

  • r

i t h m i s

  • n

e t h a t d

  • e

s n ' t n e e d t

  • m

a k e t e m p

  • r

a r y a r r a y s

  • H

a s t h e p

  • t

e n t i a l t

  • b

e m

  • r

e e ffjc i e n t

L e t ' s m a k e a n i n

  • p

l a c e i n s e r t i

  • n

s

  • r

t ! B a s i c i d e a : l

  • p

t h r

  • u

g h t h e a r r a y , a n d i n s e r t e a c h e l e m e n t i n t

  • t

h e p a r t w h i c h i s a l r e a d y s

  • r

t e d

slide-22
SLIDE 22

I n

  • p

l a c e i n s e r t i

  • n

s

  • r

t

Tie fj r s t e l e m e n t

  • f

t h e a r r a y i s s

  • r

t e d : 5 3 9 2 8 5 3 9 2 8

Wh i t e b i t : s

  • r

t e d

slide-23
SLIDE 23

I n

  • p

l a c e i n s e r t i

  • n

s

  • r

t

I n s e r t t h e 3 i n t

  • t

h e c

  • r

r e c t p l a c e : 5 3 9 2 8 3 5 9 2 8

slide-24
SLIDE 24

I n

  • p

l a c e i n s e r t i

  • n

s

  • r

t

I n s e r t t h e 9 i n t

  • t

h e c

  • r

r e c t p l a c e : 3 5 9 2 8 3 5 9 2 8

slide-25
SLIDE 25

I n

  • p

l a c e i n s e r t i

  • n

s

  • r

t

I n s e r t t h e 2 i n t

  • t

h e c

  • r

r e c t p l a c e : 3 5 9 2 8 2 3 5 9 8

slide-26
SLIDE 26

I n

  • p

l a c e i n s e r t i

  • n

s

  • r

t

I n s e r t t h e 8 i n t

  • t

h e c

  • r

r e c t p l a c e : 2 3 5 9 8 2 3 5 8 9

slide-27
SLIDE 27

I n

  • p

l a c e i n s e r t i

  • n

O n e w a y t

  • d
  • i

t : r e p e a t e d l y s w a p t h e e l e m e n t w i t h i t s n e i g h b

  • u

r

  • n

t h e l e f t , u n t i l i t ' s i n t h e r i g h t p

  • s

i t i

  • n

2 3 5 9 4 2 3 5 4 9

slide-28
SLIDE 28

I n

  • p

l a c e i n s e r t i

  • n

2 3 4 5 9 2 3 5 4 9

while n > 0 and array[n] > array[n-1] swap array[n] and array[n-1] n = n-1

slide-29
SLIDE 29

I n

  • p

l a c e i n s e r t i

  • n

A n i m p r

  • v

e m e n t : i n s t e a d

  • f

s w a p p i n g , m

  • v

e e l e m e n t s u p w a r d s t

  • m

a k e a “ h

  • l

e ” w h e r e w e p u t t h e n e w v a l u e 2 3 5 9 4 2 3 5 9

slide-30
SLIDE 30

I n

  • p

l a c e i n s e r t i

  • n

2 3 5 9 4 2 3 5 9 2 3 5 9

slide-31
SLIDE 31

I n

  • p

l a c e i n s e r t i

  • n

s

  • r

t

for i = 1 to n insert array[i] into array[0..i) A n a s i d e : w e h a v e t h e i n v a r i a n t t h a t array[0..i) i s s

  • r

t e d

  • A

n i n v a r i a n t i s s

  • m

e t h i n g t h a t h

  • l

d s w h e n e v e r t h e l

  • p

b

  • d

y s t a r t s t

  • r

u n

  • I

n i t i a l l y , i = 1 a n d array[0..1) i s s

  • r

t e d

  • A

s t h e l

  • p

r u n s , m

  • r

e a n d m

  • r

e

  • f

t h e a r r a y b e c

  • m

e s s

  • r

t e d

  • Wh

e n t h e l

  • p

fj n i s h e s , i = n, s

  • array[0..n)

i s s

  • r

t e d – t h e w h

  • l

e a r r a y !

Tii s n

  • t

a t i

  • n

m e a n s , 1 , … , i

  • 1
slide-32
SLIDE 32

I n s e r t i

  • n

s

  • r

t

O ( n

2

) i n t h e w

  • r

s t c a s e O ( n ) i n t h e b e s t c a s e ( a s

  • r

t e d a r r a y ) A c t u a l l y t h e f a s t e s t s

  • r

t i n g a l g

  • r

i t h m i n g e n e r a l f

  • r

s m a l l l i s t s – i t h a s l

  • w

c

  • n

s t a n t f a c t

  • r

s

slide-33
SLIDE 33

D i v i d e a n d c

  • n

q u e r

V e r y g e n e r a l n a m e f

  • r

a t y p e

  • f

r e c u r s i v e a l g

  • r

i t h m Y

  • u

h a v e a p r

  • b

l e m t

  • s
  • l

v e .

  • S

p l i t t h a t p r

  • b

l e m i n t

  • s

m a l l e r s u b p r

  • b

l e m s

  • R

e c u r s i v e l y s

  • l

v e t h

  • s

e s u b p r

  • b

l e m s

  • C
  • m

b i n e t h e s

  • l

u t i

  • n

s f

  • r

t h e s u b p r

  • b

l e m s t

  • s
  • l

v e t h e w h

  • l

e p r

  • b

l e m

slide-34
SLIDE 34

T

  • s
  • l

v e t h i s . . .

slide-35
SLIDE 35

1 . S p l i t t h e p r

  • b

l e m i n t

  • s

u b p r

  • b

l e m s 2 . R e c u r s i v e l y s

  • l

v e t h e s u b p r

  • b

l e m s 3 . C

  • m

b i n e t h e s

  • l

u t i

  • n

s

slide-36
SLIDE 36

M e r g e s

  • r

t

W e c a n m e r g e t w

  • s
  • r

t e d l i s t s i n t

  • n

e i n l i n e a r t i m e : 7 9 2 3 5 8 1 2 3 4 7 9 2 3 5 8 1 2 3 4

slide-37
SLIDE 37

M e r g e s

  • r

t

A d i v i d e

  • a

n d

  • c
  • n

q u e r a l g

  • r

i t h m T

  • m

e r g e s

  • r

t a l i s t :

  • S

p l i t t h e l i s t i n t

  • t

w

  • e

q u a l p a r t s

  • R

e c u r s i v e l y m e r g e s

  • r

t t h e t w

  • p

a r t s

  • M

e r g e t h e t w

  • s
  • r

t e d l i s t s t

  • g

e t h e r

slide-38
SLIDE 38

M e r g e s

  • r

t

1 . S p l i t t h e l i s t i n t

  • t

w

  • e

q u a l p a r t s 4 8 5 3 9 2 7 3 2 1 8 5 3 9 2 4 7 3 2 1

slide-39
SLIDE 39

M e r g e s

  • r

t

2 . R e c u r s i v e l y m e r g e s

  • r

t t h e t w

  • p

a r t s 8 5 3 9 2 4 7 3 2 1 8 5 3 9 2 4 7 3 2 1

slide-40
SLIDE 40

M e r g e s

  • r

t

3 . M e r g e t h e t w

  • s
  • r

t e d l i s t s t

  • g

e t h e r 7 9 2 3 5 8 1 2 3 4 7 9 2 3 5 8 1 2 3 4

slide-41
SLIDE 41

C

  • m

p l e x i t y

  • f

m e r g e s

  • r

t

A n a r r a y

  • f

s i z e n g e t s s p l i t i n t

  • t

w

  • a

r r a y s

  • f

s i z e n / 2 :

n n / 2 n / 2

slide-42
SLIDE 42

C

  • m

p l e x i t y

  • f

m e r g e s

  • r

t

Tie r e c u r s i v e c a l l s w i l l s p l i t t h e s e a r r a y s i n t

  • f
  • u

r a r r a y s

  • f

s i z e n / 4 :

n n / 2 n / 2 n / 4 n / 4 n / 4 n / 4

slide-43
SLIDE 43

n n / 2 n / 2 n / 4 n / 4 n / 4 n / 4 n / 8 n / 8 n / 8 n / 8 n / 8 n / 8 n / 8 n / 8 l

  • g

n “ l e v e l s ” O ( n ) t i me p e r l e v e l T

  • t

a l t i me i s O ( n l

  • g

n ) ! . . . . . . . . . . . . . . . . . . . . . . . .

slide-44
SLIDE 44

C

  • m

p l e x i t y a n a l y s i s

Me r g e s

  • r

t ' s c

  • m

p l e x i t y i s O ( n l

  • g

n )

  • R

e c u r s i

  • n

g

  • e

s l

  • g

n “ l e v e l s ” d e e p

  • A

t e a c h l e v e l t h e r e i s a t

  • t

a l

  • f

O ( n ) w

  • r

k

G e n e r a l “ d i v i d e a n d c

  • n

q u e r ” t h e

  • r

e m :

  • I

f a n a l g

  • r

i t h m d

  • e

s O ( n ) w

  • r

k t

  • s

p l i t t h e i n p u t i n t

  • t

w

  • p

i e c e s

  • f

s i z e n / 2 (

  • r

k p i e c e s

  • f

s i z e n / k ) . . .

  • .

. . t h e n r e c u r s i v e l y p r

  • c

e s s e s t h

  • s

e p i e c e s . . .

  • .

. . t h e n d

  • e

s O ( n ) w

  • r

k t

  • r

e c

  • m

b i n e t h e r e s u l t s . . .

  • .

. . t h e n t h e c

  • m

p l e x i t y i s O ( n l

  • g

n )

slide-45
SLIDE 45

S

  • r

t i n g s

  • f

a r

Tie r e a r e a h u g e n u m b e r

  • f

s

  • r

t i n g a l g

  • r

i t h m s

  • N
  • s

i n g l e b e s t

  • n

e , e a c h h a s a d v a n t a g e s ( h

  • p

e f u l l y ) a n d d i s a d v a n t a g e s

I n s e r t i

  • n

s

  • r

t :

  • O

( n

2

) s

  • n
  • t

g

  • d
  • v

e r a l l

  • G
  • d
  • n

s m a l l a r r a y s t h

  • u

g h – l

  • w

c

  • n

s t a n t f a c t

  • r

s

Me r g e s

  • r

t :

  • O

( n l

  • g

n ) , h

  • r

a y !

  • B

u t n

  • t

i n

  • p

l a c e a n d h i g h c

  • n

s t a n t f a c t

  • r

s