t adt table - ittc
TRANSCRIPT
Tab
les,
Pri
ori
ty Q
ue
ue
s, H
ea
ps
Tab
le A
DT
pu
rpo
se,
imp
lem
en
tati
on
s
Pri
ori
ty Q
ue
ue
AD
T
vari
ati
on
on
Ta
ble
AD
T
He
ap
s
pu
rpo
se,
imp
lem
en
tati
on
he
ap
sort
EE
CS
26
8 P
rogra
mm
ing I
I 1
Tab
le A
DT
A t
ab
le i
n g
en
eri
c te
rms
ha
s M
co
lum
ns
an
d N
ro
ws
ea
ch r
ow
co
nta
ins
a s
ep
ara
te r
eco
rd
ea
ch c
olu
mn
co
nta
ins
a d
iffe
ren
t co
mp
on
en
t, o
r fi
eld
, o
f
the
sa
me
re
cord
Ea
ch t
ab
le,
or
set
of
da
ta,
is a
lso
ge
ne
rall
y s
ort
ed
, o
r a
cce
sse
d,
by
a k
ey
re
cord
co
mp
on
en
t a
sin
gle
se
t o
f d
ata
ca
n b
e o
rga
niz
ed
in
to s
eve
ral
dif
fere
nt
tab
les,
so
rte
d a
cco
rdin
g t
o d
iffe
ren
t ke
ys
An
oth
er
com
mo
n t
erm
s is
a d
icti
on
ary
, w
ho
se e
ntr
ies
are
re
cord
s, in
sert
ed
an
d a
cce
sse
d a
cco
rdin
g t
o a
ke
y
va
lue
key
ma
y b
e a
fie
ld i
n t
he
re
cord
or
no
t
ma
y a
lso
be
use
d a
s fr
on
ten
ds
for
da
ta b
ase
acc
ess
EE
CS
268 P
rogra
mm
ing I
I 2
AD
T T
ab
le
Exa
mp
le
Th
e A
DT
ta
ble
, o
r d
icti
on
ary
Use
s a
se
arc
h k
ey
to
id
en
tify
its
ite
ms
Its
ite
ms
are
re
cord
s th
at
con
tain
se
vera
l p
iece
s o
f
da
ta
3
AD
T T
ab
le
Op
era
tio
ns
A s
imp
le a
nd
ob
vio
us
set
of
op
era
tio
ns
can
be
use
d
for
a w
ide
ra
ng
e o
f p
rog
ram
act
ivit
ies
Cre
ate
an
d D
est
roy
Ta
ble
inst
an
ce
De
term
ine
th
e n
um
be
r o
f it
em
s in
clu
din
g z
ero
Inse
rt a
n i
tem
in
a t
ab
le u
sin
g a
ke
y v
alu
e
De
lete
an
ite
m w
ith
a g
ive
n k
ey
va
lue
Re
trie
ve a
n i
tem
wit
h a
giv
en
ke
y v
alu
e
Re
trie
ve t
he
ite
ms
in t
he
ta
ble
(so
rte
d o
r u
nso
rte
d)
En
trie
s w
ith
id
en
tica
l ke
y v
alu
es
ma
yb
e f
orb
idd
en
, b
ut
can
be
ha
nd
led
wit
h a
lit
tle
im
ag
ina
tio
n
EE
CS
268 P
rogra
mm
ing I
I 4
Th
e A
DT
Ta
ble
5
vo
id t
ab
leIn
sert
(Ite
mT
yp
e&
ite
m):
st
ore
ite
m u
nd
er
its
key
bo
ole
an
ta
ble
De
lete
(Ke
yT
yp
e
ke
y_
va
lue
):
de
lete
ite
m w
ith
ke
y =
= k
ey
_va
lue
, if
p
rese
nt
Ite
mT
yp
e*
ta
ble
Re
trie
ve
(Ke
yT
yp
e
ke
y_
va
lue
):
retu
rn p
oin
ter
to i
tem
wit
h
key
==
key
_va
lue
vo
id t
rav
ers
eTa
ble
(Fu
nct
or
vis
ito
r):
F
un
cto
r: a
fu
nct
ion
-ob
ject
, m
uch
lik
e a
fn
po
inte
r
vis
ito
r is
exe
cute
d f
or
ea
ch n
od
e i
n t
ab
le
Th
e A
DT
Ta
ble
Ou
r ta
ble
ass
um
es
dis
tin
ct s
ea
rch
ke
ys
oth
er
tab
les
cou
ld a
llo
w d
up
lica
te s
ea
rch
ke
ys
Th
e traverseTable
op
era
tio
n v
isit
s ta
ble
ite
ms
in a
sp
eci
fie
d o
rde
r
on
e c
om
mo
n o
rde
r is
by
so
rte
d s
ea
rch
ke
y
a c
lie
nt-
de
fin
ed
vis
it f
un
ctio
n i
s su
pp
lie
d a
s a
n
arg
um
en
t to
th
e t
rave
rsa
l
call
ed
on
ce f
or
ea
ch ite
m in
th
e t
ab
le
EE
CS
268 P
rogra
mm
ing I
I 6
Se
lect
ing
an
Im
ple
me
nta
tio
n
Lin
ea
r im
ple
me
nta
tio
ns:
Fo
ur
cate
go
rie
s
Un
sort
ed
: a
rra
y b
ase
d o
r p
oin
ter
ba
sed
So
rte
d (
by
se
arc
h k
ey
): a
rra
y b
ase
d o
r p
oin
ter
ba
sed
EE
CS
26
8 P
rogra
mm
ing I
I 7
Fig
ure
11
-3 T
he
da
ta m
em
be
rs fo
r tw
o s
ort
ed
lin
ea
r im
ple
me
nta
tio
ns o
f th
e A
DT
ta
ble
fo
r th
e d
ata
in F
igure
11-1
: (a
) arr
ay b
ased; (b
) poin
ter
based
Se
lect
ing
an
Im
ple
me
nta
tio
n
8
Fig
ure
11
-4 T
he
da
ta
me
mb
ers
fo
r a
bin
ary
se
arc
h
tre
e im
ple
me
nta
tion
of th
e
AD
T table
for
the d
ata
in
Fig
ure
11-1
No
nli
ne
ar
imp
lem
en
tati
on
s
Bin
ary
se
arc
h t
ree
imp
lem
en
tati
on
Off
ers
se
vera
l a
dva
nta
ge
s
ove
r li
ne
ar
imp
lem
en
tati
on
s
Se
lect
ing
an
Im
ple
me
nta
tio
n
Th
e r
eq
uir
em
en
ts o
f a
pa
rtic
ula
r a
pp
lica
tio
n
infl
ue
nce
th
e s
ele
ctio
n o
f a
n i
mp
lem
en
tati
on
Qu
est
ion
s to
be
co
nsi
de
red
ab
ou
t a
n a
pp
lica
tio
n
be
fore
ch
oo
sin
g a
n i
mp
lem
en
tati
on
Wh
at
op
era
tio
ns
are
ne
ed
ed
?
Ho
w o
fte
n i
s e
ach
op
era
tio
n r
eq
uir
ed
?
Are
fre
qu
en
tly
use
d o
pe
rati
on
s e
ffic
ien
t g
ive
n a
pa
rtic
ula
r im
ple
me
nta
tio
n?
EE
CS
26
8 P
rogra
mm
ing I
I 9
Co
mp
ari
ng
Lin
ea
r Im
ple
me
nta
tio
ns
Un
sort
ed
arr
ay
-ba
sed
im
ple
me
nta
tio
n
Inse
rtio
n is
ma
de
eff
icie
ntl
y a
fte
r th
e l
ast
ta
ble
it
em
in
an
arr
ay
De
leti
on
usu
all
y r
eq
uir
es
shif
tin
g d
ata
Re
trie
val r
eq
uir
es
a s
eq
ue
nti
al s
ea
rch
10
Fig
ure
11
-5a In
se
rtio
n fo
r u
nso
rte
d lin
ea
r im
ple
me
nta
tion
s: a
rra
y b
ase
d
Co
mp
ari
ng
Lin
ea
r Im
ple
me
nta
tio
ns
So
rte
d a
rra
y-b
ase
d i
mp
lem
en
tati
on
Bo
th i
nse
rtio
ns
an
d d
ele
tio
ns
req
uir
e s
hif
tin
g
da
ta
Re
trie
val
can
use
an
eff
icie
nt
bin
ary
se
arc
h
11
Fig
ure
11
-6a In
se
rtio
n fo
r so
rte
d lin
ea
r im
ple
me
nta
tio
ns: a
rra
y b
ase
d
Co
mp
ari
ng
Lin
ea
r Im
ple
me
nta
tio
ns
Un
sort
ed
po
inte
r-b
ase
d im
ple
me
nta
tio
n
No
da
ta s
hif
ts
Inse
rtio
n i
s m
ad
e e
ffic
ien
tly
at
the
be
gin
nin
g o
f a
li
nke
d l
ist
De
leti
on
re
qu
ire
s a
se
qu
en
tia
l se
arc
h
Re
trie
val r
eq
uir
es
a s
eq
ue
nti
al
sea
rch
12
Fig
ure
11
-5b
In
se
rtio
n fo
r u
nso
rte
d lin
ea
r im
ple
me
nta
tion
s: p
oin
ter
ba
se
d
Co
mp
ari
ng
Lin
ea
r Im
ple
me
nta
tio
ns
So
rte
d p
oin
ter-
ba
sed
im
ple
me
nta
tio
n
No
da
ta s
hif
ts
Inse
rtio
ns,
de
leti
on
s, a
nd
re
trie
vals
ea
ch
req
uir
e a
se
qu
en
tia
l se
arc
h
13
Fig
ure
11
-6b
In
se
rtio
n fo
r so
rte
d lin
ea
r im
ple
me
nta
tion
s: p
oin
ter
ba
se
d
Se
lect
ing
an
Im
ple
me
nta
tio
n
Lin
ea
r
Ea
sy t
o u
nd
ers
tan
d c
on
cep
tua
lly
Ma
y b
e a
pp
rop
ria
te f
or
sma
ll t
ab
les
or
un
sort
ed
tab
les
wit
h f
ew
de
leti
on
s
No
nli
ne
ar
Is u
sua
lly
a b
ett
er
cho
ice
th
an
a l
ine
ar
imp
lem
en
tati
on
A b
ala
nce
d b
ina
ry s
ea
rch
tre
e
Incr
ea
ses
the
eff
icie
ncy
of
the
ta
ble
op
era
tio
ns
EE
CS
268 P
rogra
mm
ing I
I 14
Se
lect
ing
an
Im
ple
me
nta
tio
n
EE
CS
26
8 P
rogra
mm
ing I
I 15
Fig
ure
11
-7 T
he
ave
rag
e-c
ase
ord
er
of th
e A
DT
ta
ble
op
era
tio
ns fo
r va
rio
us im
ple
me
nta
tio
ns
Se
lect
ing
an
Im
ple
me
nta
tio
n f
or
a
Pa
rtic
ula
r A
pp
lica
tio
n
Fre
qu
en
t in
sert
ion
s a
nd
in
fre
qu
en
t tr
ave
rsa
ls in
n
o p
art
icu
lar
ord
er
Un
sort
ed
lin
ea
r im
ple
me
nta
tio
n
Fre
qu
en
t re
trie
vals
So
rte
d a
rra
y-b
ase
d im
ple
me
nta
tio
n
Bin
ary
se
arc
h
Ba
lan
ced
bin
ary
se
arc
h t
ree
Fre
qu
en
t re
trie
vals
, in
sert
ion
s, d
ele
tio
ns,
tr
ave
rsa
ls
Bin
ary
se
arc
h t
ree
(p
refe
rab
ly b
ala
nce
d)
EE
CS
268 P
rogra
mm
ing I
I 16
Ge
ne
rali
zed
Da
ta S
et
Ma
na
ge
me
nt
Pro
ble
m o
f m
an
ag
ing
a s
et
of
da
ta ite
ms
occ
urs
m
an
y t
ime
s in
ma
ny
co
nte
xts
arb
itra
ry s
et
of
da
ta r
ep
rese
nte
d b
y a
n a
rbit
rary
ke
y
valu
e w
ith
in t
he
se
t
Str
ict
sep
ara
tio
n o
f th
e s
et
of
da
ta f
rom
th
e k
ey
h
elp
s w
ith
ab
stra
ctio
n a
nd
ge
ne
rali
zati
on
Da
ta S
et
cla
ss o
r st
ruct
ure
de
fin
ed
in a
pp
lica
tio
n t
erm
s
Co
nta
ine
r cl
ass
S
TL
term
ino
log
y
ho
lds
key
an
d d
ata
se
t it
em
s
EE
CS
26
8 P
rogra
mm
ing I
I 17
Ke
yed
Ba
se C
lass
Cre
ate
ba
se c
lass
fo
r
ass
oci
ati
ng
ke
y w
ith
an
arb
itra
ry it
em
Ma
inta
ins
key
ou
tsid
e t
he
ite
m f
ield
s
Ro
ws
of
Tab
le a
re d
eri
ved
cla
sse
s o
f th
is c
lass
Inse
rtin
g i
tem
in
Ta
ble
cre
ate
s in
sta
nce
of
de
rive
d
cla
ss a
nd
sto
res
it u
nd
er
key
#include <string>
using namespace std;
typedef string KeyType;
class KeyedItem
{
public:
KeyedItem() {}
KeyedItem(const KeyType&
keyValue)
: searchKey(keyValue){}
KeyType getKey() const {
return searchKey;
}
private:
KeyType searchKey;
};
EE
CS
268 P
rogra
mm
ing I
I 18
Tab
le I
tem
Cla
ss
Cre
ate
ta
ble
of
citi
es
ind
exe
d b
y c
ity
na
me
Mig
ht
cre
ate
str
uct
fo
r
ea
ch c
ity
na
me
, p
op
u.,
co
un
try
Or,
mig
ht
de
rive
th
is
cla
ss f
rom
Ke
yed
Ite
m
De
leg
ate
s ch
ose
n k
ey
to
ba
se c
lass
sto
rag
e
cla
ss C
ity
: p
ub
lic
Ke
yed
Ite
m
{ pu
bli
c:
C
ity
() :
Ke
yed
Ite
m()
{}
C
ity
(co
nst
str
ing
& n
am
e,
co
nst
str
ing
& c
try,
co
nst
in
t& n
um
)
:
Ke
yed
Ite
m(n
am
e),
co
un
try
(ctr
y),
po
p(n
um
) {}
st
rin
g c
ity
Na
me
() c
on
st;
in
t g
etP
op
ula
tio
n()
co
nst
;
vo
id s
etP
op
ula
tio
n(i
nt
ne
wP
op
);
pri
vate
:
//
cit
y's
na
me
is
sea
rch
-ke
y v
alu
e
st
rin
g c
ou
ntr
y;
in
t
po
p;
};
EE
CS
26
8 P
rogra
mm
ing I
I 19
A S
ort
ed
Arr
ay
-Ba
sed
Im
ple
me
nta
tio
n
of
the
AD
T T
ab
le
De
fau
lt c
on
stru
cto
r a
nd
vir
tua
l d
est
ruct
or
Co
py
co
nst
ruct
or
sup
pli
ed
by
th
e c
om
pil
er
Pu
bli
c m
eth
od
s a
re v
irtu
al
Pro
tect
ed
me
tho
ds:
se
tSiz
e,
setI
tem
, a
nd
po
siti
on
EE
CS
268 P
rogra
mm
ing I
I 20
A B
ina
ry S
ea
rch
Tre
e I
mp
lem
en
tati
on
of
the
AD
T T
ab
le
Re
use
s BinarySearchTree
An
in
sta
nce
is
a p
riva
te d
ata
me
mb
er
De
fau
lt c
on
stru
cto
r a
nd
vir
tua
l d
est
ruct
or
Co
py
co
nst
ruct
or
sup
pli
ed
by
th
e c
om
pil
er
Pu
bli
c m
eth
od
s a
re v
irtu
al
Pro
tect
ed
me
tho
d: setSize
EE
CS
26
8 P
rogra
mm
ing I
I 21
Pri
ori
ty Q
ue
ue
Bin
ary
Se
arc
h T
ree
is a
n e
xce
lle
nt
da
ta s
tru
ctu
re,
bu
t n
ot
alw
ays
si
mp
le i
n c
on
cep
t a
nd
im
ple
me
nta
tio
n
BS
T s
up
po
rts
ma
ny
use
ful
op
era
tio
ns
we
ll
inse
rt,
de
lete
, d
ele
teM
ax,
de
lete
Min
, se
arc
h,
sea
rch
Ma
x,
sea
rch
Min
, so
rt
eff
icie
nt
ave
rag
e c
ase
be
ha
vio
r T
(n)
= O
(lo
g n
)
Ho
we
ver,
BST
is
no
t g
oo
d i
n a
ll r
esp
ect
s fo
r a
ll
pu
rpo
ses
bri
ttle
wit
h r
esp
ect
to
ba
lan
ce
wo
rst
case
T(n
) =
O(n
)
Ba
lan
ced
Tre
es
are
po
ssib
le b
ut
mo
re c
om
ple
x
EE
CS
268 P
rogra
mm
ing I
I 22
Pri
ori
ty Q
ue
ue
Pri
ori
ty Q
ue
ue
se
ma
nti
cs a
re u
sefu
l w
he
n i
tem
s a
re a
dd
ed
to
th
e s
et
in a
rbit
rary
ord
er,
bu
t a
re
rem
ove
d in
eit
he
r a
sce
nd
ing
or
de
sce
nd
ing
p
rio
rity
ord
er
pri
ori
ty c
an
ha
ve a
fle
xib
le d
efi
nit
ion
an
y p
rop
ert
y o
f th
e s
et
ele
me
nts
imp
osi
ng
a t
ota
l o
rde
r o
n t
he
se
t m
em
be
rs
If o
nly
a p
art
ial
ord
er
is i
mp
ose
d (
mu
ltip
le ite
ms
wit
h
eq
ua
l pri
ori
ty)
a s
eco
nd
ary
tie
bre
ak
ing
ru
le c
an
be
u
sed
to
cre
ate
a t
ota
l o
rde
r
EE
CS
26
8 P
rogra
mm
ing I
I 23
Pri
ori
ty Q
ue
ue
Th
e d
ele
tio
n o
pe
rati
on
fo
r a
pri
ori
ty q
ue
ue
is
dif
fere
nt
fro
m t
he
on
e f
or
a t
ab
le
ite
m r
em
ove
d i
s th
e o
ne
ha
vin
g t
he
hig
he
st
pri
ori
ty v
alu
e
Pri
ori
ty q
ue
ue
s d
o n
ot
ha
ve r
etr
ieva
l an
d
tra
vers
al o
pe
rati
on
s
EE
CS
268 P
rogra
mm
ing I
I 24
AD
T P
rio
rity
Qu
eu
e
25
Fig
ure
11
-8 U
ML d
iag
ram
fo
r th
e c
lass P
rio
rity
Qu
eu
e
Th
e A
DT
Pri
ori
ty Q
ue
ue
:
Po
ssib
le I
mp
lem
en
tati
on
s
So
rte
d l
ine
ar
imp
lem
en
tati
on
s
Ap
pro
pri
ate
if
the
nu
mb
er
of
ite
ms
in t
he
pri
ori
ty
qu
eu
e i
s sm
all
Arr
ay-b
ase
d i
mp
lem
en
tati
on
Ma
inta
ins
the
ite
ms
sort
ed
in
asc
en
din
g o
rde
r o
f
pri
ori
ty v
alu
e
ite
ms[
size
- 1
] h
as
the
hig
he
st p
rio
rity
EE
CS
268 P
rogra
mm
ing I
I 26
Fig
ure
11
-9a A
n a
rra
y-b
ase
d im
ple
me
nta
tio
n o
f th
e A
DT
prio
rity
qu
eu
e
Th
e A
DT
Pri
ori
ty Q
ue
ue
:
Po
ssib
le I
mp
lem
en
tati
on
s
So
rte
d l
ine
ar
imp
lem
en
tati
on
s (c
on
tin
ue
d)
Po
inte
r-b
ase
d i
mp
lem
en
tati
on
Ma
inta
ins
the
ite
ms
sort
ed
in
de
sce
nd
ing
ord
er
of
pri
ori
ty v
alu
e
Ite
m h
av
ing
th
e h
igh
est
pri
ori
ty is
at
be
gin
nin
g o
f li
nke
d
list
EE
CS
26
8 P
rogra
mm
ing I
I 27
Fig
ure
11
-9b
A
po
inte
r-ba
se
d im
ple
me
nta
tio
n o
f th
e A
DT
prio
rity
qu
eu
e
Th
e A
DT
Pri
ori
ty Q
ue
ue
:
Po
ssib
le I
mp
lem
en
tati
on
s
Bin
ary
se
arc
h t
ree
im
ple
me
nta
tio
n
Ap
pro
pri
ate
fo
r a
ny
pri
ori
ty q
ue
ue
Larg
est
ite
m i
s ri
gh
tmo
st a
nd
ha
s a
t m
ost
on
e
chil
d
28
Fig
ure
11
-9c A
bin
ary
se
arc
h tre
e
imp
lem
en
tatio
n o
f th
e
AD
T p
rio
rity
qu
eu
e
Th
e A
DT
Pri
ori
ty Q
ue
ue
:
He
ap
Im
ple
me
nta
tio
n
A h
ea
p i
s a
co
mp
lete
bin
ary
tre
e
tha
t is
em
pty
, O
R
wh
ose
ro
ot
con
tain
s a
se
arc
h k
ey
>=
th
e s
ea
rch
ke
y in
e
ach
of
its
chil
dre
n,
an
d w
ho
se r
oo
t h
as
he
ap
s a
s it
s su
btr
ee
s
He
ap
is
the
be
st a
pp
roa
ch b
eca
use
it
is t
he
mo
st
eff
icie
nt
for
the
sp
eci
fic
PQ
se
ma
nti
cs
He
ap
pro
vid
es
a p
art
iall
y o
rde
red
tre
e
avo
ids
bri
ttle
ne
ss o
f B
ST
an
d h
as
low
er
ove
rhe
ad
th
an
b
ala
nce
d s
ea
rch
tre
es
EE
CS
26
8 P
rogra
mm
ing I
I 29
He
ap
s
No
te:
Th
e s
ea
rch
ke
y in
ea
ch h
ea
p n
od
e i
s >
= t
he
se
arc
h
ch
ild
ren
req
uir
ed
re
lati
on
ship
EE
CS
268 P
rogra
mm
ing I
I 30
He
ap
s
A m
axi
mu
m,
bin
ary
, h
ea
p H
is
a c
om
ple
te b
ina
ry
tre
e s
ati
sfy
ing
th
e h
ea
p-o
rde
red
tre
e p
rop
ert
y:
Co
mp
lete
: E
very
le
vel c
om
ple
te,
exc
ep
t p
oss
ibly
th
e
last
, a
nd
all
le
ave
s a
re a
s fa
r le
ft a
s p
oss
ible
He
ap
Ord
ere
d:
Pri
ori
ty o
f a
ny
no
de
is
>=
pri
ori
ty o
f a
ll
its
de
sce
nd
an
ts
ma
xim
um
ele
me
nt
of
set
is t
hu
s a
t ro
ot
A m
inim
um
he
ap
en
sure
s th
at
all
no
de
s h
ave
p
rio
rity
va
lue
s <
= a
ll its
de
sce
nd
an
ts
min
imu
m e
lem
en
t a
t ro
ot
E
EC
S 2
68 P
rogra
mm
ing I
I 31
He
ap
A
DT
EE
CS
268 P
rogra
mm
ing I
I 32
Fig
ure
11
-10 U
ML d
iag
ram
fo
r th
e c
lass H
ea
p
He
ap
I
mp
lem
en
tati
on
Co
nsi
de
rin
g t
yp
ica
l h
ea
p o
pe
rati
on
s, f
or
exa
mp
le,
inse
rt in
to h
ea
p
Re
sult
mu
st b
e a
co
mp
lete
tre
e s
ati
sfy
ing
th
e h
ea
p
pro
pe
rty
th
at
all
no
de
s a
re >
= d
esc
en
da
nts
Tw
o s
tep
in
sert
pro
cess
wo
rks
we
ll
com
ple
te b
ina
ry t
ree
rest
ruct
ure
H t
o m
ake
it
sati
sfy
th
e h
ea
p-o
rde
red
pro
pe
rty
Tw
o s
tep
re
mo
ve
clie
nt
cod
e s
ave
ro
ot
valu
e f
or
use
-ord
er
Re
stru
ctu
re H
to
mig
rate
/pe
rco
late
ne
w r
oo
t to
th
e c
orr
ect
tr
ee
lo
cati
on
EE
CS
26
8 P
rogra
mm
ing I
I 33
He
ap
I
mp
lem
en
tati
on
Tra
vers
al o
f th
e i
nse
rte
d n
od
e t
o i
ts p
rop
er
pla
ce r
eq
uir
es
at
mo
st O
(lo
g n
) o
pe
rati
on
s
sin
ce t
he
he
igh
t o
f a
co
mp
lete
bin
ary
tre
e i
s
O
(lo
g n
)
EE
CS
268 P
rogra
mm
ing I
I 34
He
ap
I
mp
lem
en
tati
on
De
leti
on
is
sim
ila
r
alw
ays
de
lete
s th
e r
oo
t o
f th
e t
ree
, le
ft w
ith
tw
o
dis
join
t su
btr
ee
s
pla
ce i
tem
in
la
st n
od
e i
n t
he
ro
ot
ou
t o
f p
lace
ite
m i
n r
oo
t n
od
e s
ho
uld
pe
rco
late
do
wn
to
its
pro
pe
r p
osi
tio
n
O(l
og
n)
EE
CS
26
8 P
rogra
mm
ing I
I 35
He
ap
I
mp
lem
en
tati
on
Da
ta s
tru
ctu
re s
uit
ab
le f
or
he
ap
im
ple
me
nta
tio
n m
ust
su
pp
ort
eff
icie
nt
de
term
ina
tio
n o
f w
he
re n
ext
an
d l
ast
sl
ots
in
a c
om
ple
te t
ree
are
lo
cate
d f
or
inse
rt a
nd
de
lete
, re
spe
ctiv
ely
sup
po
rt e
ffic
ien
t p
erc
ola
tio
n o
f m
isp
lace
d n
od
es
Pe
rco
lati
on
do
wn
is
sim
ple
usi
ng
sta
nd
ard
ch
ild
re
fere
nce
s a
nd
co
mp
ari
son
of
pa
ren
t to
ch
ild
va
lue
s
Pe
rco
lati
on
up
is
alm
ost
as
sim
ple
, b
ut
req
uir
es
a
pa
ren
t re
fere
nce
at
ea
ch n
od
e
Kn
ow
ing
th
e la
st o
ccu
pie
d a
nd
ne
xt o
pe
n s
lots
un
de
r d
iffe
ren
t d
ata
str
uct
ure
s is
mo
re s
ub
tle
un
de
r so
me
d
ata
str
uct
ure
s th
an
oth
ers
EE
CS
268 P
rogra
mm
ing I
I 36
He
ap
I
mp
lem
en
tati
on
Po
inte
r b
ase
d h
ea
ps
req
uir
e t
wo
ch
ild
an
d o
ne
pa
ren
t p
oin
ter
at
ea
ch n
od
e
can
use
ad
dit
ion
al st
ate
info
rma
tio
n t
o t
rack
loca
tio
n o
f n
ext
an
d l
ast
co
mp
lete
tre
e s
lots
Arr
ay
ba
sed
he
ap
imp
lem
en
tati
on
sim
pli
fie
s p
are
nt
a
nd
ch
ild
re
fere
nce
s b
y m
ak
ing
th
em
ca
lcu
late
d
low
ers
sp
ace
ove
rhe
ad
no
t cl
ea
r e
xecu
tio
n t
ime
wo
uld
be
lo
we
r a
rra
y in
de
x ca
lcu
lati
on
vs.
po
inte
r a
cce
ss
Sim
ila
rly,
lo
cati
on
of
the
ne
xt a
nd
la
st s
lots
fo
r th
e
com
ple
te t
ree
ca
n b
e c
alc
ula
ted
fro
m t
he
nu
mb
er
of
no
de
s in
th
e t
ree
, w
hic
h is
sim
ple
to
tra
ck
EE
CS
26
8 P
rogra
mm
ing I
I 37
He
ap
A
rra
y I
mp
lem
en
tati
on
In a
n a
rra
y r
ep
rese
nta
tio
n o
f a
bin
ary
tre
e T
Ro
ot
of
T i
s a
t A
[0]
left
an
d r
igh
t ch
ild
ren
of
A[i
] a
re a
t A
[2i+
1]
an
d
A[2
i+2
]
pa
ren
t o
f a
no
de
A[i
] is
at
A[(
i-1
)/2
]
for
n>
1,
A[i
] is
a l
ea
f if
f 2
i>n
in a
he
ap
wit
h n
ele
me
nts
th
e l
ast
ele
me
nt
of
the
com
ple
te b
ina
ry t
ree
is
at
A[n
-1]
an
d t
he
ne
xt
ele
me
nt
(ele
me
nt
n+
1)
wil
l b
e a
dd
ed
at
A[n
]
EE
CS
268 P
rogra
mm
ing I
I 38
He
ap
A
rra
y I
mp
lem
en
tati
on
An
arr
ay
-ba
sed
re
pre
sen
tati
on
is
att
ract
ive
Co
nst
an
t M
AX
_H
EA
P
Da
ta m
em
be
rs
ite
ms:
an
arr
ay
of
he
ap
ite
ms
size
: a
n in
teg
er
eq
ua
l to
th
e c
urr
en
t n
um
be
r o
f it
em
s in
th
e h
ea
p
EE
CS
26
8 P
rogra
mm
ing I
I 39
He
ap
A
rra
y I
mp
lem
en
tati
on
he
ap
De
lete
op
era
tio
n w
ith
arr
ays
Ste
p 1
: R
etu
rn t
he
ite
m i
n t
he
ro
ot
roo
tIte
m =
ite
ms[
0]
EE
CS
268 P
rogra
mm
ing I
I 40
Fig
ure
11
-12a D
isjo
int h
ea
ps
He
ap
A
rra
y I
mp
lem
en
tati
on
Ste
p 2
: C
op
y t
he
ite
m f
rom
th
e l
ast
no
de
in
to
the
ro
ot:
ite
ms[
0]=
ite
ms[
size
-1]
Ste
p 3
: R
em
ove
th
e l
ast
no
de
: --
size
Re
sult
s in
a s
em
ihe
ap
EE
CS
26
8 P
rogra
mm
ing I
I 41
Fig
ure
11
-12
b A
se
mih
ea
p
He
ap
A
rra
y I
mp
lem
en
tati
on
Ste
p 3
: Tr
an
sfo
rm t
he
se
mi-
he
ap
ba
ck i
nto
a
he
ap
use
th
e r
ecu
rsiv
e a
lgo
rith
m h
ea
pR
eb
uil
d
the
ro
ot
valu
e t
rick
les
do
wn
th
e t
ree
un
til
it i
s n
ot
ou
t o
f p
lace
if t
he
ro
ot
ha
s a
sm
all
er
sea
rch
ke
y t
ha
n t
he
la
rge
r o
f
the
se
arc
h k
eys
of
its
chil
dre
n,
swa
p t
he
ite
m in
th
e
roo
t w
ith
th
at
of
the
la
rge
r ch
ild
EE
CS
268 P
rogra
mm
ing I
I 42
A H
ea
p I
mp
lem
en
tati
on
of
the
AD
T
Pri
ori
ty Q
ue
ue
Pri
ori
ty-q
ue
ue
op
era
tio
ns
an
d h
ea
p
op
era
tio
ns
are
an
alo
go
us
the
pri
ori
ty v
alu
e i
n a
pri
ori
ty-q
ue
ue
co
rre
spo
nd
s
On
e i
mp
lem
en
tati
on
ha
s a
n i
nst
an
ce o
f th
e H
ea
p c
lass
as
a p
riva
te d
ata
me
mb
er
me
tho
ds
call
an
alo
go
us
he
ap
op
era
tio
ns
EE
CS
26
8 P
rogra
mm
ing I
I 43
A H
ea
p I
mp
lem
en
tati
on
of
the
AD
T
Pri
ori
ty Q
ue
ue
dis
ad
van
tag
e
ma
xim
um
siz
e
ad
van
tag
e
a h
ea
p i
s a
lwa
ys b
ala
nce
d
An
oth
er
imp
lem
en
tati
on
a h
ea
p o
f q
ue
ue
s
use
ful
wh
en
a f
init
e n
um
be
r o
f d
isti
nct
pri
ori
ty
valu
es
are
use
d,
wh
ich
ca
n r
esu
lt i
n m
an
y i
tem
s h
av
ing
th
e s
am
e p
rio
rity
va
lue
EE
CS
268 P
rogra
mm
ing I
I 44
He
ap
sort
Str
ate
gy
tra
nsf
orm
th
e a
rra
y in
to a
he
ap
rem
ove
th
e h
ea
p's
ro
ot
(th
e l
arg
est
ele
me
nt)
by
tra
nsf
orm
s th
e r
esu
ltin
g s
em
ihe
ap
ba
ck i
nto
a
he
ap
EE
CS
26
8 P
rogra
mm
ing I
I 45
He
ap
sort
EE
CS
268 P
rogra
mm
ing I
I 46
Fig
ure
11
-17 T
ran
sfo
rmin
g th
e a
rra
y anArray
in
to a
he
ap
He
ap
sort
Co
mp
are
d t
o m
erg
eso
rt
bo
th h
ea
pso
rt a
nd
me
rge
sort
are
O(n
* l
og
n)
in
bo
th t
he
wo
rst
an
d a
vera
ge
ca
ses
ho
we
ver,
he
ap
sort
do
es
no
t re
qu
ire
se
con
d a
rra
y
Co
mp
are
d t
o q
uic
kso
rt
qu
icks
ort
is
O(n
* l
og
n)
in t
he
ave
rag
e c
ase
it i
s g
en
era
lly
th
e p
refe
rre
d s
ort
ing
me
tho
d,
eve
n
tho
ug
h i
t h
as
po
or
wo
rst-
case
eff
icie
ncy
: O
(n2)
EE
CS
26
8 P
rogra
mm
ing I
I 47
Su
mm
ary
Th
e A
DT
ta
ble
su
pp
ort
s va
lue
-ori
en
ted
op
era
tio
ns
Th
e l
ine
ar
imp
lem
en
tati
on
s (a
rra
y b
ase
d a
nd
po
inte
r b
ase
d)
of
a t
ab
le a
re a
de
qu
ate
on
ly i
n l
imit
ed
si
tua
tio
ns
wh
en
th
e t
ab
le is
sm
all
for
cert
ain
op
era
tio
ns
A n
on
lin
ea
r p
oin
ter
ba
sed
(b
ina
ry s
ea
rch
tre
e)
imp
lem
en
tati
on
of
the
AD
T t
ab
le p
rovid
es
the
be
st
asp
ect
s o
f th
e t
wo
lin
ea
r im
ple
me
nta
tio
ns
dy
na
mic
gro
wth
inse
rtio
ns/
de
leti
on
s w
ith
ou
t e
xte
nsi
ve d
ata
mo
vem
en
t
eff
icie
nt
sea
rch
es
EE
CS
268 P
rogra
mm
ing I
I 48
Su
mm
ary
A p
rio
rity
qu
eu
e i
s a
va
ria
tio
n o
f th
e A
DT
ta
ble
its
op
era
tio
ns
all
ow
yo
u t
o r
etr
ieve
an
d r
em
ove
the
ite
m w
ith
th
e l
arg
est
pri
ori
ty v
alu
e
A h
ea
p t
ha
t u
ses
an
arr
ay
-ba
sed
rep
rese
nta
tio
n o
f a
co
mp
lete
bin
ary
tre
e is
a
go
od
im
ple
me
nta
tio
n o
f a
pri
ori
ty q
ue
ue
wh
en
yo
u k
no
w t
he
ma
xim
um
nu
mb
er
of
ite
ms
tha
t w
ill
be
sto
red
at
an
y o
ne
tim
e
EE
CS
26
8 P
rogra
mm
ing I
I 49
Su
mm
ary
He
ap
sort
, li
ke m
erg
eso
rt,
ha
s g
oo
d w
ors
t-ca
se
an
d a
vera
ge
-ca
se b
eh
av
iors
, b
ut
ne
ith
er
sort
is
as
go
od
as
qu
icks
ort
in
th
e a
vera
ge
ca
se
He
ap
sort
ha
s a
n a
dva
nta
ge
ove
r m
erg
eso
rt in
tha
t it
do
es
no
t re
qu
ire
a s
eco
nd
arr
ay
EE
CS
268 P
rogra
mm
ing I
I 50