R e a l - w o r l d s o r t i n g ( n o t o n - - PowerPoint PPT Presentation

r e a l w o r l d s o r t i n g n o t o n e x a m s o r t
SMART_READER_LITE
LIVE PREVIEW

R e a l - w o r l d s o r t i n g ( n o t o n - - PowerPoint PPT Presentation

R e a l - w o r l d s o r t i n g ( n o t o n e x a m ) S o r t i n g a l g o r i t h m s s o f a r Wo r s t c a s e A v e r a g e c a s e B e s t c a s e I n s e r t


slide-1
SLIDE 1

R e a l

  • w
  • r

l d s

  • r

t i n g ( n

  • t
  • n

e x a m )

slide-2
SLIDE 2

S

  • r

t i n g a l g

  • r

i t h m s s

  • f

a r

Wo r s t c a s e A v e r a g e c a s e B e s t c a s e I n s e r t i

  • n

s

  • r

t O ( n

2

) O ( n

2

) O ( n ) Q u i c k s

  • r

t O ( n

2

) O ( n l

  • g

n ) O ( n l

  • g

n ) Me r g e s

  • r

t O ( n l

  • g

n ) O ( n l

  • g

n ) O ( n l

  • g

n )

slide-3
SLIDE 3

S

  • r

t i n g a l g

  • r

i t h m s s

  • f

a r

Wo r s t c a s e A v e r a g e c a s e B e s t c a s e I n s e r t i

  • n

s

  • r

t O ( n

2

) O ( n 2 ) O ( n ) Q u i c k s

  • r

t O ( n

2

) O ( n l

  • g

n ) O ( n l

  • g

n ) Me r g e s

  • r

t O ( n l

  • g

n ) O ( n l

  • g

n ) O ( n l

  • g

n ) N

  • c

l e a r w i n n e r . . . t h e b e s t a l g

  • r

i t h m s c

  • m

b i n e i d e a s f r

  • m

s e v e r a l

slide-4
SLIDE 4

I n t r

  • s
  • r

t

Q u i c k s

  • r

t : f a s t i n p r a c t i c e , b u t O ( n

2

) w

  • r

s t c a s e I n t r

  • s
  • r

t :

  • S

t a r t w i t h Q u i c k s

  • r

t

  • I

f t h e r e c u r s i

  • n

d e p t h g e t s t

  • b

i g , s w i t c h t

  • h

e a p s

  • r

t , w h i c h i s O ( n l

  • g

n )

P l u s s t a n d a r d Q u i c k s

  • r

t

  • p

t i m i s a t i

  • n

s :

  • C

h

  • s

e p i v

  • t

v i a m e d i a n

  • f
  • t

h r e e

  • S

w i t c h t

  • i

n s e r t i

  • n

s

  • r

t f

  • r

s m a l l a r r a y s

U s e d b y e . g . C + + S T L , . N E T , . . .

slide-5
SLIDE 5

D u a l

  • p

i v

  • t

q u i c k s

  • r

t

I n s t e a d

  • f
  • n

e p i v

  • t

, p i c k t w

  • I

n s t e a d

  • f

p a r t i t i

  • n

i n g t h e a r r a y i n t

  • t

w

  • p

i e c e s , p a r t i t i

  • n

i t i n t

  • t

h r e e p i e c e s

  • I

f p i v

  • t

s a r e x a n d y , t h e n :

  • e

l e m e n t s < x

  • e

l e m e n t s > x a n d < y

  • e

l e m e n t s > y

S a m e c

  • m

p l e x i t y a s Q u i c k s

  • r

t , b u t f e w e r r e c u r s i v e c a l l s b e c a u s e t h e a r r a y g e t s s p l i t u p q u i c k e r U s e d b y J a v a f

  • r

p r i m i t i v e t y p e s ( i n t , . . . )

slide-6
SLIDE 6

T r a d i t i

  • n

a l m e r g e s

  • r

t ( a r e c a p )

slide-7
SLIDE 7

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

s p l i t s p l i t s p l i t s p l i t s p l i t s p l i t

slide-8
SLIDE 8

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

m e r g e m e r g e m e r g e m e r g e m e r g e m e r g e

slide-9
SLIDE 9

N a t u r a l m e r g e s

  • r

t

T r a d i t i

  • n

a l m e r g e s

  • r

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

  • s

i n g l e e l e m e n t s b e f

  • r

e m e r g i n g e v e r y t h i n g b a c k t

  • g

e t h e r a g a i n B e t t e r i d e a : s p l i t t h e i n p u t i n t

  • r

u n s

  • A

r u n i s a s e q u e n c e

  • f

i n c r e a s i n g e l e m e n t s

  • .

. .

  • r

a s e q u e n c e

  • f

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

  • F

i r s t r e v e r s e a l l t h e d e c r e a s i n g r u n s , s

  • t

h e y b e c

  • m

e i n c r e a s i n g

  • Tie

n m e r g e a l l t h e r u n s t

  • g

e t h e r

slide-10
SLIDE 10

5 4 1 3 6 8 2 1 3 7

s p l i t

5 4 1 3 6 8 2 1 3 7

s p l i t s p l i t s p l i t

1 2 4

r e v e r s e m e r g e

7 4 1 1 2 3 6 8 3 5

m e r g e m e r g e m e r g e

8 3 1 1 2 3 4 5 6 7

m e r g e m e r g e

slide-11
SLIDE 11

N a t u r a l m e r g e s

  • r

t

B i g a d v a n t a g e : O ( n ) t i m e f

  • r

s

  • r

t e d d a t a

  • .

. . a n d r e v e r s e

  • s
  • r

t e d d a t a

  • .

. . a n d “ a l m

  • s

t ”

  • s
  • r

t e d d a t a

C

  • m

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

  • g

r ) , w h e r e r i s t h e n u m b e r

  • f

r u n s i n t h e i n p u t

  • .

. . w

  • r

s t c a s e , e a c h r u n h a s t w

  • e

l e m e n t s , s

  • r

= n / 2 , s

  • O

( n l

  • g

n )

U s e d b y G H C

slide-12
SLIDE 12

5 4 1368 2137

s p l i t

5 4 1368 21 37

s p l i t s p l i t s p l i t

124

r e v e r s e m e r g e

7 4 1123 68 35

m e r g e m e r g e m e r g e

8 3 1123 4567

m e r g e m e r g e O ( n ) t i m e p e r l e v e l O ( l

  • g

r ) “ l e v e l s ” T

  • t

a l t i m e i s O ( n l

  • g

r ) !

slide-13
SLIDE 13

T i m s

  • r

t

N a t u r a l m e r g e s

  • r

t i s r e a l l y g

  • d
  • n

s

  • r

t e d / n e a r l y

  • s
  • r

t e d d a t a

  • Y
  • u

g e t l

  • n

g r u n s s

  • n
  • t

m a n y m e r g e s t

  • d
  • B

u t n

  • t

s

  • g
  • d
  • n

r a n d

  • m

d a t a

  • S

h

  • r

t r u n s s

  • m

a n y m e r g e s

I d e a

  • f

T i m s

  • r

t :

  • n

s h

  • r

t r a n d

  • m

p a r t s

  • f

t h e l i s t , s w i t c h t

  • i

n s e r t i

  • n

s

  • r

t H

  • w

t

  • d

e t e c t r a n d

  • m

n e s s ?

  • S

e v e r a l s h

  • r

t r u n s n e x t t

  • n

e a n

  • t

h e r

slide-14
SLIDE 14

5 4 1 3 6 8 2 1 3 7

s p l i t

5 4 1 3 6 8 2 1 3 7

s p l i t s p l i t

1 2 4

r e v e r s e m e r g e

7 4 1 1 2 3 6 8 3 5

m e r g e i n s e r t i

  • n

s

  • r

t

8 3 1 1 2 3 4 5 6 7

m e r g e m e r g e D

  • n

' t s p l i t 3 7 5 i n t

  • t

w

  • r

u n s , i t ' s t

  • s

h

  • r

t !

slide-15
SLIDE 15

T i m s

  • r

t

S p e c i fj c a l l y :

  • I

f w e c

  • m

e a c r

  • s

s a s h

  • r

t r u n , j

  • i

n i t t

  • g

e t h e r w i t h a l l f

  • l

l

  • w

i n g s h

  • r

t r u n s u n t i l w e r e a c h a t h r e s h

  • l

d

  • Tie

n u s e i n s e r t i

  • n

s

  • r

t

  • n

t h a t p a r t

A l s

  • s
  • m

e

  • p

t i m i s a t i

  • n

s f

  • r

m e r g e :

  • Me

r g e s m a l l e r r u n s t

  • g

e t h e r fj r s t

  • I

f t h e m e r g e b e g i n s w i t h s e v e r a l e l e m e n t s f r

  • m

t h e s a m e a r r a y , u s e b i n a r y s e a r c h t

  • fj

n d

  • u

t h

  • w

m a n y a n d t h e n c

  • p

y t h e m a l l i n

  • n

e g

  • U

s e d i n J a v a f

  • r

a r r a y s

  • f
  • b

j e c t s , P y t h

  • n

h t t p : / / e n . w i k i p e d i a .

  • r

g / w i k i / T i m s

  • r

t

slide-16
SLIDE 16

T h e b e s t s

  • r

t i n g a l g

  • r

i t h m ?

A g

  • d

s

  • r

t i n g a l g

  • r

i t h m s h

  • u

l d :

  • h

a v e O ( n l

  • g

n ) c

  • m

p l e x i t y

  • h

a v e O ( n ) c

  • m

p l e x i t y

  • n

n e a r l y

  • s
  • r

t e d d a t a

  • b

e s i m p l e

  • b

e i n

  • p

l a c e

  • b

e s t a b l e

  • c

a c h e

  • f

r i e n d l y

N

  • a

l g

  • r

i t h m s e e m s t

  • h

a v e a l l

  • f

t h e s e !

slide-17
SLIDE 17

S u m m a r y

N

  • n

e

  • s

i z e fj t s a l l a n s w e r

  • B

e s t

  • v

e r a l l c

  • m

p l e x i t y : n a t u r a l m e r g e s

  • r

t

  • B

u t q u i c k s

  • r

t h a s s m a l l e r c

  • n

s t a n t f a c t

  • r

s

D i fg e r e n t a l g

  • r

i t h m s a r e g

  • d

i n d i fg e r e n t s i t u a t i

  • n

s

  • .

. . y

  • u

s h

  • u

l d fj n d

  • u

t w h i c h i n t h e l a b : )

B e s t s

  • r

t i n g f u n c t i

  • n

s c

  • m

b i n e i d e a s f r

  • m

s e v e r a l a l g

  • r

i t h m s

  • I

n t r

  • s
  • r

t : q u i c k s

  • r

t + h e a p s

  • r

t + i n s e r t i

  • n

s

  • r

t

  • T

i m s

  • r

t : n a t u r a l m e r g e s

  • r

t + i n s e r t i

  • n

s

  • r

t

slide-18
SLIDE 18

S p e c i a l

  • p

u r p

  • s

e s

  • r

t i n g a l g

  • r

i t h ms ( n

  • t
  • n

e x a m )

slide-19
SLIDE 19

S

  • r

t i n g i n t e g e r s

A l l t h e a l g

  • r

i t h m s w e ' v e s e e n w

  • r

k b y c

  • m

p a r i n g e l e m e n t s

  • f

t h e l i s t w i t h ≤

  • A

d v a n t a g e : g e n e r a l p u r p

  • s

e

I f t h e l i s t c

  • n

t a i n s i n t e g e r s , w e c a n d

  • s
  • m

e t h i n g d i fg e r e n t !

  • C
  • u

n t i n g s

  • r

t : h t t p : / / e n . w i k i p e d i a .

  • r

g / w i k i / C

  • u

n t i n g _ s

  • r

t

  • B

u c k e t s

  • r

t : h t t p : / / e n . w i k i p e d i a .

  • r

g / w i k i / B u c k e t _ s

  • r

t

  • R

a d i x s

  • r

t ( d a t e s f r

  • m

1 8 8 7 ! ) : h t t p : / / e n . w i k i p e d i a .

  • r

g / w i k i / R a d i x _ s

  • r

t