S u mmi n g u p B a s i c d a t a s t r u c t u - - PowerPoint PPT Presentation

s u mmi n g u p b a s i c d a t a s t r u c t u r e s
SMART_READER_LITE
LIVE PREVIEW

S u mmi n g u p B a s i c d a t a s t r u c t u - - PowerPoint PPT Presentation

S u mmi n g u p B a s i c d a t a s t r u c t u r e s A r r a y s : g o o d f o r r a n d o m a c c e s s d y n a m i c a r r a y s : r e s i z e a b l e L i n k e d


slide-1
SLIDE 1

S u mmi n g u p

slide-2
SLIDE 2

B a s i c d a t a s t r u c t u r e s

A r r a y s : g

  • d

f

  • r

r a n d

  • m

a c c e s s

  • d

y n a m i c a r r a y s : r e s i z e a b l e

L i n k e d l i s t s : g

  • d

f

  • r

s e q u e n t i a l a c c e s s

  • m

a n y v a r i a n t s – d

  • u

b l y l i n k e d , e t c .

T r e e s : g

  • d

f

  • r

h i e r a r c h i c a l d a t a

  • s

p e c i a l c a s e : b i n a r y t r e e s

G r a p h s : g

  • d

f

  • r

c y c l i c d a t a

  • m

a n y v a r i a n t s : w e i g h t e d , d i r e c t e d , e t c .

slide-3
SLIDE 3

S

  • m

e d a t a s t r u c t u r e s a r e s p e c i a l

I n m a c h i n e l a n g u a g e , t h e m e m

  • r

y i s a n a r r a y

  • f

i n t e g e r s

  • T
  • t

h e p r

  • c

e s s

  • r

, e v e r y t h i n g i s a n a r r a y

I n i m p e r a t i v e l a n g u a g e s , t h e m e m

  • r

y i s a n

  • b

j e c t g r a p h w i t h r e f e r e n c e s b e i n g e d g e s

  • T
  • a

n i m p e r a t i v e l a n g u a g e , e v e r y t h i n g i s a g r a p h (

  • r

a n a r r a y )

I n f u n c t i

  • n

a l l a n g u a g e s , a n y a l g e b r a i c d a t a t y p e i s a k i n d

  • f

t r e e ( c f . L i s p S

  • e

x p r e s s i

  • n

s )

  • T
  • a

f u n c t i

  • n

a l l a n g u a g e , e v e r y t h i n g i s a t r e e (

  • r

a f u n c t i

  • n

)

E v e r y t h i n g e l s e i s b u i l t f r

  • m

w h a t e v e r p r i m i t i v e d a t a s t r u c t u r e s y

  • u

r p r

  • g

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

  • r

t s

slide-4
SLIDE 4

B a s i c A D T s

Ma p s : m a i n t a i n a k e y / v a l u e r e l a t i

  • n

s h i p

  • A

n a r r a y i s a s

  • r

t

  • f

m a p w h e r e t h e k e y s a r e a r r a y i n d i c e s

S e t s : l i k e a m a p b u t w i t h

  • n

l y k e y s , n

  • v

a l u e s Q u e u e : a d d t

  • n

e e n d , r e m

  • v

e f r

  • m

t h e

  • t

h e r S t a c k : a d d a n d r e m

  • v

e f r

  • m

t h e s a m e e n d D e q u e : a d d a n d r e m

  • v

e f r

  • m

e i t h e r e n d P r i

  • r

i t y q u e u e : a d d , r e m

  • v

e m i n i m u m

slide-5
SLIDE 5

I m p l e m e n t i n g m a p s a n d s e t s

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

  • G
  • d

p e r f

  • r

m a n c e i f y

  • u

c a n k e e p i t b a l a n c e d

  • H

a s g

  • d

r a n d

  • m

a n d s e q u e n t i a l a c c e s s : t h e b e s t

  • f

b

  • t

h w

  • r

l d s

A h a s h t a b l e

  • V

e r y f a s t i f y

  • u

c h

  • s

e a g

  • d

h a s h f u n c t i

  • n

A l i n k e d l i s t ? ?

  • .

. . p r e t t y b a d

  • b

u t u s e d i n t h e “ c h a i n s ” i n a h a s h t a b l e

slide-6
SLIDE 6

I m p l e m e n t i n g q u e u e s , s t a c k s , p r i

  • r

i t y q u e u e s

Q u e u e s :

  • a

l i n k e d l i s t

  • a

c i r c u l a r a r r a y

  • a

p a i r

  • f

l i s t s ( i n a f u n c t i

  • n

a l l a n g u a g e )

S t a c k s :

  • a

l i n k e d l i s t

  • a

d y n a m i c a r r a y

P r i

  • r

i t y q u e u e s :

  • a

b i n a r y h e a p

  • a

l e f t i s t h e a p

slide-7
SLIDE 7

W h a t w e h a v e s t u d i e d

Tie d a t a s t r u c t u r e s a n d A D T s a b

  • v

e + a l g

  • r

i t h m s t h a t w

  • r

k

  • n

t h e s e d a t a s t r u c t u r e s ( s

  • r

t i n g , D i j k s t r a ' s , e t c . ) + c

  • m

p l e x i t y

slide-8
SLIDE 8

D a t a s t r u c t u r e d e s i g n

H

  • w

t

  • d

e s i g n y

  • u

r

  • w

n d a t a s t r u c t u r e s ?

  • Tii

s t a k e s p r a c t i c e !

S t u d y

  • t

h e r p e

  • p

l e ' s i d e a s :

  • h

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

  • r

g / w i k i / L i s t _

  • f

_ d a t a _ s t r u c t u r e s

  • B
  • k

: P r

  • g

r a m m i n g P e a r l s

  • B
  • k

: P u r e l y F u n c t i

  • n

a l D a t a S t r u c t u r e s

  • S

t u d y y

  • u

r f a v

  • u

r i t e l a n g u a g e ' s s t a n d a r d l i b r a r y

slide-9
SLIDE 9

D a t a s t r u c t u r e d e s i g n

F i r s t , i d e n t i f y w h a t

  • p

e r a t i

  • n

s t h e d a t a s t r u c t u r e m u s t s u p p

  • r

t

  • O

f t e n t h e r e ' s a n e x i s t i n g d a t a s t r u c t u r e y

  • u

c a n u s e

  • O

r p e r h a p s y

  • u

c a n a d a p t a n e x i s t i n g

  • n

e ? Tie n d e c i d e

  • n

:

  • A

r e p r e s e n t a t i

  • n

( t r e e , a r r a y , e t c . )

  • A

n i n v a r i a n t Tie s e h

  • p

e f u l l y d r i v e t h e r e s t

  • f

t h e d e s i g n !

slide-10
SLIDE 10

D a t a s t r u c t u r e d e s i g n

F i n a l l y , r e m e m b e r t h e F i r s t a n d S e c

  • n

d R u l e s

  • f

P r

  • g

r a m O p t i m i s a t i

  • n

:

1 . D

  • n

’ t d

  • i

t . 2 . ( F

  • r

e x p e r t s

  • n

l y ! ) : D

  • n

’ t d

  • i

t y e t .

K e e p t h i n g s s i m p l e !

  • N
  • p
  • i

n t

  • p

t i m i s i n g y

  • u

r a l g

  • r

i t h m s t

  • h

a v e O ( l

  • g

n ) c

  • m

p l e x i t y i f i t t u r n s

  • u

t n ≤ 1

  • P

r

  • fj

l e y

  • u

r p r

  • g

r a m t

  • fj

n d t h e b

  • t

t l e n e c k s a r e

  • U

s e b i g

  • O

c

  • m

p l e x i t y t

  • g

e t a h a n d l e

  • n

p e r f

  • r

m a n c e b e f

  • r

e y

  • u

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

slide-11
SLIDE 11

W h a t w e h a v e n ' t h a d t i m e f

  • r
slide-12
SLIDE 12

A m

  • r

t i s e d d a t a s t r u c t u r e s

W e b r i e fm y m e n t i

  • n

e d a m

  • r

t i s e d c

  • m

p l e x i t y :

  • e

. g . d y n a m i c a r r a y s

  • a

d d i n g a n e l e m e n t n

  • r

m a l l y t a k e s O ( 1 ) t i m e

  • b

u t

  • c

c a s i

  • n

a l l y i t c a n t a k e O ( n ) t i m e

  • b

u t t h e O ( n ) c a s e h a p p e n s r a r e l y e n

  • u

g h t h a t

  • n

a v e r a g e a d d i n g a n e l e m e n t t a k e s O ( 1 ) t i m e

  • a

n d s

  • w

e s a y t h a t i t t a k e s a m

  • r

t i s e d O ( 1 ) t i m e

slide-13
SLIDE 13

A m

  • r

t i s e d c

  • m

p l e x i t y

S p l a y t r e e s a r e a b a l a n c e d B S T h a v i n g a m

  • r

t i s e d O ( l

  • g

n ) c

  • m

p l e x i t y

  • Tie

t r e e s

  • m

e t i m e s b e c

  • m

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

  • u

g h t h a t t h e a v e r a g e t i m e p e r

  • p

e r a t i

  • n

i s s t i l l O ( l

  • g

n )

S k e w h e a p s a r e a p r i

  • r

i t y q u e u e h a v i n g a m

  • r

t i s e d O ( l

  • g

n ) m e r g e

  • S

i m i l a r t

  • l

e f t i s t h e a p s b u t s i m p l e r , a n d f a s t e r i n p r a c t i c e !

S e e b

  • k

c h a p t e r s 2 1 ( s p l a y t r e e s ) a n d 2 2 ( s k e w h e a p s )

slide-14
SLIDE 14

P r

  • b

a b i l i s t i c a l g

  • r

i t h m s

S

  • m

e t i m e s i t h e l p s t

  • m

a k e r a n d

  • m

c h

  • i

c e s

  • E

x a m p l e : q u i c k s

  • r

t w i t h a r a n d

  • m

p i v

  • t

h a s e x p e c t e d O ( n l

  • g

n ) c

  • m

p l e x i t y

P r

  • b

a b i l i s t i c a l g

  • r

i t h m s a n d d a t a s t r u c t u r e s u s e r a n d

  • m

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

  • n
  • D
  • w

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

  • a

n a l y s e , s m a l l c h a n c e

  • f

p

  • r

p e r f

  • r

m a n c e ( b u t i f t h e p r

  • b

a b i l i t y i s l

  • w

e n

  • u

g h . . . )

S k i p l i s t s : a n i c e m a p

  • l

i k e d a t a s t r u c t u r e w i t h O ( l

  • g

n ) e x p e c t e d c

  • m

p l e x i t y R a n d

  • m

i s e d s p l a y t r e e : a b a l a n c e d B S T w i t h O ( l

  • g

n ) e x p e c t e d c

  • m

p l e x i t y

slide-15
SLIDE 15

F u n c t i

  • n

a l d a t a s t r u c t u r e s

Z i p p e r s : a l l

  • w

y

  • u

t

  • u

p d a t e f u n c t i

  • n

a l d a t a s t r u c t u r e s e ffjc i e n t l y

  • h

t t p : / / w w w . h a s k e l l .

  • r

g / h a s k e l l w i k i / Z i p p e r

F i n g e r t r e e s : a s e q u e n c e d a t a t y p e w i t h a n i m p r e s s i v e l i s t

  • f

f e a t u r e s :

  • O

( 1 ) a c c e s s n e a r t h e f r

  • n

t a n d b a c k

  • f

t h e s e q u e n c e

  • O

( l

  • g

n ) r a n d

  • m

a c c e s s

  • O

( l

  • g

n ) c

  • n

c a t e n a t i

  • n

a n d s p l i t t i n g

  • h

t t p : / / w w w . s

  • i

. c i t y . a c . u k / ~ r

  • s

s / p a p e r s / F i n g e r T r e e . p d f

  • D

a t a . S e q u e n c e i n G H C

slide-16
SLIDE 16

L a b d e a d l i n e s

I f y

  • u

' v e m i s s e d t h e fj n a l d e a d l i n e f

  • r

a l a b , d

  • n

' t p a n i c ! O n J u n e t h e 3

r d

I w i l l s i t i n m y

  • ffjc

e ( 5 4 6 3 ) f r

  • m

1

  • 3

a n d y

  • u

c a n s h

  • w

m e y

  • u

r l a b i n p e r s

  • n
slide-17
SLIDE 17

T h e e x a m 2 6

t h

  • f

M a y , 1 4 : – 1 8 : , H ö r s a l s v ä g e n

slide-18
SLIDE 18

T h e e x a m

Y

  • u

c a n b r i n g a f u s k l a p p , h a n d w r i t t e n

  • n

b

  • t

h s i d e s 6 q u e s t i

  • n

s , t

  • p

a s s : a n s w e r 3 q u e s t i

  • n

s

  • Tie

r e m i g h t b e p a r t s m a r k e d “ f

  • r

V G ”

  • y
  • u

d

  • n

' t n e e d t

  • a

n s w e r t h

  • s

e !

F

  • r

a V G :

  • A

n s w e r 5 q u e s t i

  • n

s

  • I

f t h e r e a r e a n y p a r t s m a r k e d “ f

  • r

V G ” , y

  • u

d

  • n

e e d t

  • a

n s w e r t h e m !

B e s t p r e p a r a t i

  • n

: d

  • t

h e e x e r c i s e s , m a k e s u r e y

  • u

u n d e r s t a n d t h e l a b s , r e a d t h e s a m p l e e x a m Wh a t y

  • u

n e e d t

  • k

n

  • w

: t h e f

  • l

l

  • w

i n g !

slide-19
SLIDE 19

D a t a s t r u c t u r e s

A r r a y s , d y n a m i c a r r a y s L i n k e d l i s t s ( s i n g l e

  • l

i n k e d , d

  • u

b l y

  • l

i n k e d ) Q u e u e a n d s t a c k i m p l e m e n t a t i

  • n

s u s i n g a r r a y s

  • r

l i n k e d l i s t s B i n a r y t r e e s , b i n a r y s e a r c h t r e e s , A V L t r e e s , r e d

  • b

l a c k t r e e s , 2

  • 3

t r e e s

  • n
  • t

d e l e t i

  • n

f

  • r

A V L , r e d

  • b

l a c k

  • r

2

  • 3

t r e e s – b u t s t i l l f

  • r

p l a i n B S T s !

H a s h t a b l e s

  • R

e h a s h i n g , l i n e a r p r

  • b

i n g , l i n e a r c h a i n i n g – n

  • t

h

  • w

t

  • c
  • n

s t r u c t a g

  • d

h a s h f u n c t i

  • n

G r a p h s ( w e i g h t e d , u n w e i g h t e d , d i r e c t e d , u n d i r e c t e d ) , a d j a c e n c y l i s t s , a d j a c e n c y m a t r i c e s B i n a r y h e a p s , l e f t i s t h e a p s

slide-20
SLIDE 20

A l g

  • r

i t h m s

D a t a s t r u c t u r e a l g

  • r

i t h m s ( e . g . , l i s t i n s e r t i

  • n

, B S T l

  • k

u p ) B i n a r y s e a r c h T r e e t r a v e r s a l : i n

  • r

d e r , p r e

  • r

d e r , p

  • s

t

  • r

d e r G r a p h a l g

  • r

i t h m s :

  • b

r e a d t h

  • fj

r s t a n d d e p t h

  • fj

r s t s e a r c h

  • D

i j k s t r a ' s a n d P r i m ' s a l g

  • r

i t h m s ( u s i n g a p r i

  • r

i t y q u e u e )

slide-21
SLIDE 21

S

  • r

t i n g a l g

  • r

i t h m s

B u b b l e s

  • r

t , s e l e c t i

  • n

s

  • r

t , i n s e r t i

  • n

s

  • r

t

  • I

n

  • p

l a c e v e r s i

  • n

s

Q u i c k s

  • r

t , m e r g e s

  • r

t

  • S

t r a t e g i e s f

  • r

c h

  • s

i n g t h e p i v

  • t

– fj r s t e l e m e n t , m e d i a n

  • f
  • t

h r e e , r a n d

  • m

i s e d

slide-22
SLIDE 22

T h e

  • r

y

C

  • m

p l e x i t y a n d b i g

  • O

n

  • t

a t i

  • n
  • F
  • r

i t e r a t i v e a n d r e c u r s i v e f u n c t i

  • n

s – b a s i c a l l y , w h a t ' s i n t h e c

  • m

p l e x i t y h a n d

  • i

n

D a t a s t r u c t u r e i n v a r i a n t s

slide-23
SLIDE 23

G

  • d

l u c k !