Lecture Notes in Computer Science Edited by G. Goos and J. Hartmanis
59 Edward Hill, Jr.
A Comparative Study of Very L...
20 downloads
1055 Views
4MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Lecture Notes in Computer Science Edited by G. Goos and J. Hartmanis
59 Edward Hill, Jr.
A Comparative Study of Very Large Data Bases
Springer-Verlag Berlin Heidelberg New York 1978
Editorial Board P. Brinch Hansen D. Gries C. Moler G. Seegm~ller J. Stoer N. Wirth
Author Dr. Edward Hill, Jr. Division of Computer Research and Technology Building 12 A, Room 2041 B National Institute of Health 9 0 0 0 Wisconsin Avenue Bethesda, Maryland 20851/USA
AMS Subject Classifications (1970): 68-02, 68A20, 68A50, 68A99 CR Subject Classifications (1974): 4.33
ISBN 3-540-08653-6 Springer-Verlag Berlin Heidelberg NewYork ISBN 0-387-08653-6 Springer-Verlag New York Heidelberg Berlin This work is subject to copyright. All rights are reserved,whether the whole or part of the material is concerned, specifically those of translation, reprinting, re-use of illustrations, broadcasting, reproduction by photocopying machine or similar means,and storage in data banks. Under § 54 of the German Copyright Law where copies are made for other than private use, a fee is payable to the publisher, the amount of the fee to be determined by agreement with the publisher. © by Springer-Verlag Berlin Heidelberg 1978 Printed in Germany Printing and binding: Bettz Offsetdruck, Hemsbach/Bergstr. 2141/3140-543210
£R~FACE
This organizing base
to
access
very
storage
average
and number
complete
a
retrieve
items chaining
A
atgorlthm is
storing a
fast
direct
The
on with
and
access
insertion,
operatlons
for
an
Inverted
component
concept.
A
flies.
Aft
structures, the
to
direct
Finally,
compared.
show
access a
inverted
comparison
and
file.
for
Algorithms the New The
method are
analyzed, the
device
white
is
to
components with
number
processing
a
and
on
perform
are
developed
along
stored
generation
average
developed
for
measures
are
and
coalescing
trle
presented flte
to
methods
presented a
the
presented.
with
and
performance
Invo~vlng
on
is
ate
store
hashing
chaining
tree
is
device
to
for
are
direct
concern
probing
inverted
methods
effect
criterion
[tnear
on
storage
device
[a_E~e_~/t~
InvoEvlng
accesses
search
very
immediate
measures
and
methods
storage
access
binary
file.
hybrid
their
direct
performance
deletion
for
of
measures
device.
base
factor
storage
a
for
Information
data
of
methods
called
desired
large
fists
~
of
data
number
access
wlth
presented
linked
an
average
New
storage
of
the
performance
retrieving
stored
major
separate
comparison
very
to
direct
a
of
a
the
accesses
retrieval,
the
In
updating, of
a
retrieva[
devices.
presented. and
presents amounts
request.
using
lists
large
facilitate
~etrievat
new
monograph
using is
their of
used
accesses
method
for
data
request,
each
a
is
to
IV
This to The
the
Department
George
monograph of
Washington
is
based
EtectrlcaL University
on
a
D.Sc.
Engineering In
1977e
dissertation and
Computer
submitted Science
at
ACKNOWLEDGEMENTS
[ variety
of
am
indebted
ways
to
the
First
of
art,
who
served
for
encouraging
this
monograph.
as
my
their
and
me
Edward
hours
for
this
to
In
I
am
work
my
career.
owe
has
am
sacrificed
this
great Ao
what
contributed
to
Profo
deserves
has
become
Natlonat
institutes
Computer
Science.
my
Harris
now
of
in
wife,
me
from
indeed so
much
and
Espor
understanding
Ao
Mettzer
K.
the
in
a
monograph.
dear
C.
have
Eugene
to
kept
I
a
Prof.
studies
tope,
who
of
investigate
indebted
their
who
I
Dr.
my
Finally) Gertrude
to
peopte
comptetion
Technology
support
many
advisor.
Thanks Research
to
the
and
and
support
Mettzer
thanks the
Division of
my
C.
topic
of
Hearth,
chitdren during
of
Computer for
Eurica the
and
many
them.
thankful to
aid
for me
my during
parents the
Edward Initlat
and years
of
I.
INTRODUCTION
2.
DATA BASE STRUCTURE
3.
2.1°
Record
2.2.
Data
2.3.
Ava|lable
DIRECT 3°I°
4.
Structure Structure
ACCESS Direct
Space
DEVICES Access
RECORD P R O C E S S I N G 4.1.
Record
4.2.
Chaining
4.3.
Manasement
9
TerminoLogy
9
USING HASHING METHODS
Addressin~ With
TerminoLogy
Separate
Lists
11 11 15
4o2. I.
~etrievat
A1gorithm
[7'
4°2.2.
Retrleval
Time
1/3
4.2.3.
Insertion
Atgorlthm
19
4.2.4.
Insertion
Time
21
4.2.5.
DeLetion
ALgorithm
22
4.2+6.
DeLetion
Time
23
4°2.7°
Storage
Space
Requirements
24
With
Coalescing
Lists
24
Chalning
Vlll
4°3°1.
Retrievat
And
Insertion
Algorithm
4,,4°
4o5°
5°
24
4°3°2°
Retrieval
Time
27
4°3o3.
Insertion
Time
29
4°3.4.
De[etlon
Atgorithm
29
4°3°5°
De[etlon
Time
3O
4°3.6.
Storage
Linear
Space
Requirements
Probing
3O 3O
4.4.1.
Retrieval
Algorithm
31
4.4.2.
Retrlevat
Time
32
4°4.3°
Insertion
Atgorlthm
34
4°4°4°
Insertion
Time
35
4°4°5.
Detetion
Algorithm
36
4.4.6.
Detetion
Time
37
4o4°7°
Storage
Space
Requirements
Summary
37 37
RECORD P R O C E S S I N G U S I N G TREE METHODS
40
5°I.
Tree
40
5.2.
Storing
TREE
5o2.1o
Retrievat
Algorithm
60
5.2.2.
Retrleva[
Time
64
5.2.3.
Insertion
Algorithm
65
5.2.4.
Insertion
Time
69
5,2.5.
Deletion
Algorithm
69
5.2.6°
De[etlon
Time
72
5.2.7.
Storage
Searching
Termlno[ogy And
Binary
Space
Tree
Requirements
52
72
iX
5.3.
5.4.
6.
RECORD 6oi.
6.2.
6.3.
7.
RECORD
Storing
TRIE
5.3.1.
Retr
5.3.2.
73 ALgorithm
73
Retrieval
Time
73
5.3.3.
Insertion
Algorithm
74
5.3.4.
Insertion
Time
75
5.3.5.
Detetion
ALgorithm
75
5.3.6.
Detetion
Time
75
5.3.F.
Storage
levat
Space
Requirements
75 76
Summary
PROCESSING
USING
L~NKED
FILES
79
Files
80
Retrieval
ALgorithm
81
6.1.2.
Retrieva~
T£me
8,2
6.1.3.
Insertion
A~gorithm
83
6.1.4.
Insertion
Time
84
6.1.5.
Deletlon
A~gorithm
84
6.1.6.
Detetion
Time
8,%
6.1.7.
Storage
Space
Storing
Doubte
Linked
6.2.1.
Storage
Storing
Ring
Storing
Linked
6.1.1.
PROCESSING
7.1o
Generation
7.2.
Load
7.3.
Retrleval
List
84
List
85
Files
Space R e q u i r e m e n t s
List
USING Of
Requirements
Time
86
Files
~NVERTED
Inverted
,B5
File
FILES
87 90 94
Algorithm
99
X
8.
7e4u
Retrievat
Time
100
7.5.
Insertion
Aisorlthm
103
7.6.
Insertion
Time
103
7.7.
Deletion
Algorithm
103
7o8.
Deletion
Time
104,
7.9.
Storage
T. lO.
Summary
104
Requirements
105
COMPARISON OF METHODS
106
8.1o
Criterion
106
8.2.
Comparison 8o2.
9.
Space
I,
For
Comparison
108
Load
108
Times
8.2.2.
Retrieval
Times
109
8°2°3.
Insertion
Times
110
8.2.4.
Deletion
8.2.5.
Storage
8.2.6.
Variable
8.2.7o
Fixed
8.2.8°
Hybrid
113
Times Space
Requirements
Length Length Methods
Keys
Keys
113 123 123 123
CONCLUSIONS
124
9.1.
124
Appendix
References
ConcluSions
A.
Glossary
o~
terms
130
134
1
CHAPTER
INTRODUCTION
This methodology
monograph
for
is
organizing
veF_y_~£g~_~_~_~. methods
and
evaluation
presents
measures
for
design
carried
parameters. a
methodology
direct
these
are
and
for
each
of
information
In
a
Is
of
designed
which
and
method
approach
for
New storage
and
performance
and
as
and
method
stored
a
performance
function
graphs
of
are
facilitate a
The
rapid direct
critical
presented
performance.
on
caLLed
existing
Comprehensive
to
is
data
the
developed
tables
comparison
of
stored
surveys
established.
out
of
methods.
designed
here
amounts
notation
Comprehensive
studied
retrieval
unified of
methods
are
permit
new
are
[a~ge
investigation
investigation
comparison
aLL
evaluations
which
a
algorithms
comvrehensive
very This
and
retrieval
a
storage
access
and
storage
device.
the
principle
access
storage
associated average
data number
requt~ed
to
and
method
each
very
Large
data
base
concern
is
the
device
to
complete
~verage
structures, of
accesses
process is
a
a
are to
request,
analyzed
InvoLving
for
number
of
direct
Methods
to
show
access
b
comparison
a
measure
their
Its
to and
updatlng~ the
direct
their
effect
storage
criterion of
snd
accesses
request.
analyzed the
retriever
on
device
is
performance.
developed
the
a
The of
entities
that
it
apply
at[
size
of
a
concerns
to
and
information
pointers,
Lists
base
data
the
be
average
about
and
may
each
indices
characterized number
o£
entity.
reside
by retrieval
A d~ta
on
a
disk
the
is
number terms
base
in
which
catted
a
X~EZ
t a r g~_~_~t~_~b~s.
Very systems,
involving
networks. of
Large
The
designing
Large
extremely
times,
The data
number
accesses,
initial
simple
to
are Locate The
iS
structure
defined.
it
is
and
very
base
and
data
update
time.
in
this
monograph
are
for
analyzed.
various of
physical
one
of
of
and
the
data
synthesis.
components
their
are The
addressing
data
disk
and
organizations.
records
very
to
techniques
These
Component
a
proper
number
is
An
processing
The
time
structure
base.
connected
the
search
retrieval
for
algorithms.
various
problem
the
impractical
reduce
of
and
and
data
account
strongly
is
processing
its
large
in
with
usage,
may
result
Large
bases.
storage
data
accesses
parts
used primary
mechanisms
records. purpose
fundamental for
data
very
complexes
concerned
processing
the
taken
liLes
Is
a
in
computer
wiLL
approach
structures
here
only
algorithms toad
data
components
bases,
and
Large
processing
disk
component
associated compare
of
justified
processing,
of
search
The
which
in
accesses
structure and
used
fOr
in
disk
structure
The
systems
efftcency
of
are using
users
organization
number
base
bases
presented
important
inefficient Large
many
analysis
High is
data
in
very
Large
essential
Chapter
of
2
Chapter
defining data that
introduces
2
is
both bases.
each
to
a
introduce
data
To
component definitions
a
set
structure
compare of that
the
very
of
and large
system give
the
be
concepts
a
search data welt
structures
to
3
of
the
data
base
precise
Chapter device at[
3
terminology
pointers
influence
the
records
in
chaining
with
and
LP
data 4
for TREE T
of
algorithm
record
the
storage
data
base
device
to
search
processing
chaining
and
linear
and
these and
terms
store
using is
a
are
CS,
size.
apply
the
CC
List
presented
bucket tO
by
coalescing
measures
developed
Lists,
denoted
using
general
using
separate
probing,
performance
Lists
methods
with
algorithm
distribution
is
for
A 80-20
rule
measuPeSo
processing
Tree
access
storage
are
search
New
coalescing
performance
5,
new
analyzed.
Record Chapter
access
any
direct Since
direct
[is~s A
probability the
a
analyzed
coalescing
with
mixture
a[gorithmso
introduces
methods
and
chaining
on
necessary
base.
respectlvety.
introduced
using
analyze
stored
Chapter The
the
implementation
the
hashing.
introduces to
are
meaning,
methods
using are
tree
methods
summarized°
TREE
and
TRIE°
New
performance
and
the
TRIE.
The
notation
introduced
ALgorithms
measures for
are
the
are
TREE
are
presented
presenCed
and
the
in
for
TaLE
is
the BS
and
respectively. Chapter
denoted
by
LLo
demonstrated. of
files
6 The
The
are
IF.
in
ALgorithms
insertion, performance
directory using
are
deletion measures
7.
the using
The
are
is
and
inverted pve~ented
used by
chaining an
notation
presented and
prdcessing
approach search
processing
Chapter
record
component
organized
Record presented
introduces
analyzed file ~or
in
this
Linear with
inverted used
using
monograph
probing separate
file
and list
is the
£iLe
inverted
£or
the
retrievaL,
operations. file.
List
method. is
the
inverted
files,
structure
for
generation an
[inked
New
is
4
In
chapter
8 a criterion
Is p r e s e n t e d .
The
define
attributes
fist
various
Is u s e d
operator other
to
define
defines
attributes
in
the basis
of
9
this
defined of
the
every
the
in
comparison earlier
COmparison
a comparison
precisely
Chapter on
concepts
fop
large
chapters
CPiterion.
operator.
methods,
of
This
data
bases
ape
used
to
The
attribute
comparison
distribution,
retation
and
comparison,
presents research,
the
conctusions
which
have
been
reached
CHAPTER
BA~g_~!~¢IU_Eg
DATA
This structures of
base
both
ordering chance
to
find
a
data
item
record This
be
in
the
the
It
in
not
A
coLLection
base.
of
Within
one
records
done
enough
base;
data
a
importance.
Thin is
data
data
grouping
groups.
data,
a
assume
of
and
monograph.
catted
content
those
known
this
is
consist
algorithms
that
data
affect
done
and
to
are
search
structure
structure is
in
structures
to
to
must
and
the
increase
know also
that
a
know
how
It.
Two factors the
used
and
may
record
fashion~
within
Locating
Search
and
some
databane
records of
particular
in
the
bases
organization of
of
defines
data
organized
Organization
the
the
for
data,
data
chapter
2
of
data
structure
exp¢iclt[y
to
Locate
algorithms
the
data
used
de£ine
are
base.
are the
records the
Basic
record
data
in
that
this
are
banes.
structure
deflnitionn
presented
notions
in
for
a
chapter.
used
in
Later
chapters.
The system the
key
ks
Catted
and
distinguishes
basic
the
unit
an
is
~¢e~o~r__Eecor~.
data.
the
which
record
A
~
from
K
processed An
Is
that
a~L
other
item part
in
a
Is of
records.
data made
a
processing up
record
The
of
two
parts:
that
teng*h
of___~
6
ke X
is
that
the
part
• ~!~,
and
2.2.
number of a
a
Data
exist
are
may
its
a
consist
a
in
key,
involves
content
here
ape
from
a
list
beginning
of
the
node
the of
An
LiSt. a
of
~t~
records
is is
a
examp%e
iL%ustrated
in
List
contains
and
the
List
must
figure
Linked
(caLLed the
list
its
a
Linked
O~d~.
A
base.
A
of
the
nodes
modified
in
and
special
have a
a [i_~
address
with
List.
node
a
an
in
the
node.
caLLed
2.1.
2.1.
a
successor
List
FIRST
~igure
35].
a data
are
termination storage
20,
positions
Linked
of
contains
a
a
definitions
caLLed or
nodes of
is
variable
of
%is%
Many
is
that
relationships
[10,
file,
address
area
base.
relative
List
every A
List
the
caLLed
%inked
Therefore,
record,
the
the
data
those
structure
Linear
When
Linked
the
data
data,
only
,
A
in
a
contains
Eein~E.
List.
unit
of
node
s[e=~g~_~ee!-
is
discussed
tiS~K_!!~l.
node
set
The
Structure
basic
one
key.
@~_~a~-
references
aLLocated
FIRST
a
in
are
the
called
those
last
of
is
A
of
the
first
flies
the
key.
modifications
normal
caLLed
of
the
a
a
to
not
in
is
that
is
files
that
such
which
in
and
structure called
characters
records
The node
or
structures
between
used
digits
record
set
The
of
address to
is
indicate Lists
~ X ~ ! ~ to
varia_~b!~)
Link
way
addition
Most
pointer
of
a
the
the points
first
variaDCe
to
node
caLLed
7
A tint, a
iS
fist
is
special
catted
where
called
a
in
a
node
the
last
node
list
located
Many
times
points
a
list
node.
The
using
it
XASa--li~, list
[isis,
head
is
because
it
beginning
necessary
first
circular
common
is
the
is
the
a
a
node
at it
to In
S!a~Ml~--!!~-~d_-_li~!-
called
at Sorlthms
a
!Is~_~he~d,
sometimes head
in
in
indicates
to
Such
[inked
[ist,
to
many
a node
the
organize
node.
pratice
useful
of
a
tin%
include
a
search
with
known
attributes. it
O~ten, A
list
with
predecessor
node
two
[ipked
i!ist.
in
the
catted An
to
necessary
pointers
catted
successor
iS
have
each
node.
left
link
(LLINK)
the
right
example
of
link
this
two
pointers
where and
one
points
the
other
(BLINK),
structure
in
is
is
each to
the
points
catted
preseoted
node. node to
a double in
figure
2.2.
Figure
searches In and
aim each
For
large
may
be
lists tls%
files
the
required
discussed had
one
D o u b t y Linked
2.2.
if so
lists the
far
starting
tend
list
the
~ist
point.
to
length
Lists.
be is
lengths
tong, not were
By r e s t r i c t i n g
and
extended
contro[ied. unrestricted the
list
the
8
lengths
it
its
own
starting
an
index,
ti~to
is
key
sought
in
and
not
restricts
the
~ndex,
the
the
the the
resulting
is [1st
index
and
this
each
starting a
are
to
one,
has
placed
catted
disadvantages
to an
of
These
places
the
record
~ny@rte~
these
points
in
~ and
directly
is
which
ga£t~t~__~ver!e
points
Chapter.
of
points
Length
structure
advantages An
subtists~
structure
one
stated
chapter
create If
resulting
The are
to
polnto
the
When
each
possible
are
methods analyzed
in
8. ~vai~abLe:~e_~ana~em~n~
2.3.
The ~hich
are
~cket
file
area
numbered
has
a
is
divided
into
sequentiaLLy
fixed
Length,
parts
throughout
consisting
o£
c~LLed
buckets,
areao
Each
the one
or
more
hardware
blocks. A track to
contain
Is
the
The
one
Lowest
overflow
The case
is
of
the
of
physical
a
common
Is
assumed device
status
moves
points
o~
track
tracks.
bet
to
being
has
a
addressing
That
is
to
addressing Linked any
at to
of
say~
Least
assumed the
within
backet
read
Ls
track
the
~ite.
direct
areao
or
write
to
the
one
track
of
informatiOno
be
read
the
next
track
bit
mask
Is
to
~n
read°
available
associated used
that
muLti-track An
Level
buckets.
operation a
block
more
Level
storage
read
or
area It
access
or
an free
Tracks in
use b~t
are state.
state
allocated Any associated
¢o
used by track with
indicate
chang~n8 that it.
is
the not
the
CHAPTER
A direct physlcat There
form
record
are
has
severat
of
the
heads
o~
tocation
direct
surface
and
the
device
is
defined
access
and
the
recording
one
on
which
by
a
storage
unique
devices.
retationshlp
surface
each
The
between
determine
address.
the
actuat
the type.
The
are:
this
1.
Magnetic
drums
2.
Magnetic
disks,
fixed
3.
Magnetic
diskss
movable
4.
Magnetic
cards/strlps.
chapter
storage
is
devices
Many those
in
retrieve
~rm, the
is
to that
of
or
are
the
Locate
contains
surface
discussed
an
where
the
a
the
used
in
32,
on
device
the
data
this
£ottow the
direct move
mechanism is
The
on
intent
direct
access
monograph.
When a
monograph.
terminology
which
to
read/write
head
in
this
34].
item
head
common
definitions
[ I,
instructs
which
not
introduce
references
etectronics
to
storage
discrete
types
Hardware
to
a
recording
read/weIte types
access
3
stored.
are
adaptations
operating access
an
device,
arm
catted
catted Once
system
this
a
of is
asks
the the
~cce_~ f
r_~c~.~tel~d. is
done~
a
data
o~
~0
transfer
occurs.
covered into a
with concentric
of
The onty
the
form
of the
heads. position
is
to
move
to
make
a
transfer
is
ca[ted
a
ca~ted
have of
required
a
in
position
particular the
read/wrlte is
the
it time
required
has
known
to
as
may
required read
Any
time.
that
is
built
it
to
activate
A
direct
time
D
This
retrieved write
an
from leads or
item
a
direct
to
locate of
data
is
be a
a
type
part of
movabte
into
After
the
heads
necessary
particular storage
opposite
caused
by
to head
devices
a
series
surface
time. access
another an
the
device
may
or
on
with
access
under
delay
on
s~h_~t~me.
track,
All
in
a
some
data
devices
of
or
selected,
depend
heads
rotated
transfered
located.
or
time
A
however, detay
access
those
the
factors:
been
rotationai4e!,~__~£_!a_~%~D_~Z
be
to
on
the
passes
revolution.
rotationa[
wit~
required The
switching
surface
been
a
head.
heads.
Data once
~ead
recording
I~otation
over
and
to
E
data
without
many
necessary
time
divided
KX~n~Eo
has
required
of
one
written
by
movement
is
track
device
The
prated
activate
is
ing
a
be
This
position-
a
time,
may
surface.
or
surfaces,
surface
entire
affected
Once
rotating
completes
called
is
of
individual
tend
switching
movement
recording Arm
data
number
One
be is
considered.
mechanical
device.
are
are
head
a
surface
can
arm, of
time,
time
the
which
access
on
~ E ~ -
time
transfer
seek
tatency
every
the
kept
The
cat[ed
tracksj
repositiosing
is
materiat0
rings head
collection
data
magnetic
read/wrlte
of
The
storage
factor
item. called
The the
device
that time
affects T
~n~e_~P
CHAPTER
In
this
key-to-address storage
chapter
or
retrieval
We
regarding
desire
aLL
The
found
in
[13,
space
in
which
b_uucket records of
List
as
data slots
being
34,
A
We
54].
a
records
block.
on
be
a
record
address access
a
direct
A
new
and
a
in
used
the
storage
retrieval
of
records
access
search
device.
algorithm
analyzed.
slots® the
in
buckets
aLL
maps h(K)
~_e
of
is
give
is
caLLed
the
key
a
uniform
A
space
the
the
random
the
can
to
name
number be
to
that
thought
hoed the
of
one
total
~ad~ac~o~r.
h~,~ into
use
maximum
keys
device
so
designed
active
those
storage
We
bucket
is
of
partitioned
block. h
slot the
access is
bucket.
Each
ratio
modifications
direct
storage
transformation
from to
a
are
stored
one
in
Therefores
the
bucket
contained into
here
are
in
The
key-to-address
want
for
an
or
and
NormaLLy
combined
divided
h.~_a@hin_g_£gnctton, space.
45.
are
can
avaltabte
K~
direct
summarized.
presented
identified
record.
a
stored
introduced
definitions
such
that
is
on storage
information are
key
generates
record the
a
Address~M_~eKm~ng~
records for
that
methods
Record
several
given that
analyze
record
coaLsecing
4.1.
of to
Several a
are
transformation,
device.
using
we
4
sometimes the
bucket
distribution
caLLed address while
a
12
m~pping h(K)
K into
the
of
the
is
used
is
catted
address
to
home
Any
distinct
is
of
records
In
many
said
cases
a to
a
tow
of
80 a
in
number
activity
Level
probabitity
atL
of and
called
of
the
time,
be
bucket
entering
the
same
the
h(K)
sequence
of
[65]
at
function.
When
the
we in
many
a
have
a
slot
~ot¢~lgJl the
that
presented
required sizes. to
a
bucket
an
common
the
number
owerf~w, area
catted
commerlcat only fi%e
the may
most
active
have
high
20
or
file.
Duhne
accesses
same
hom~
then
affect
suggest
the
subset
in
the
the
constructed
kept
that
catted
catted
size
are
is
into
ls
retrievals
rule
to
find
Severance
determine
a
method
to
a
mecord
for
and
another
Duhne
estimate
the
arbitrary
used
two
probaDitity
~ i ~ -
record
retrievals
is
variable
X
assigned
within
to
Let
the are
Poisson.
m2 .
mapped
can
records
that
mean
one
address
This When
key.
di£~_~@d£~@~i_J~g
Assume
is
m~p
suggested
and
the
occurrence
exceed
subsets
that
with
a
This
varlabte
other
an
distributions
distribution
file,
be
percent
Severance expected
than
is
are
one-to-one
[27]
file.
activity
an
space.
g£ob!~g.
more
K
that
overflow
Heising
percent
keys
bucket
the
applications,
address
catted
where
Such
If
in
is space
h(K),
sy~on~0
function
h(K)
the
generating
~fluenc~o
address
address.
After
enter
address
The
catted
to
with
the
g£~be
addresses.
used
space
enter
a
bucket is
address
add£fi~, are
the
equally
Consider one
PI
be
or
high
of
a
the
the
tOW
activity
tlke[y.
two
Let
bucket
subset X
be
problem.
buckets
wlth
probabl&ity
of
mean
hitting
a
of
the
random The
m I and
one
random to
of
the
13
the
buckets.
bucket
is
I
-
This
imp%les
Pl*
The
P{ X = k)
=
that
mixture
Pl
m7
the
probability
probability
e-ml
-
Pl )
mk -2
k! The
expected
vatue
E(X
=
~ k=0
kP(X
ir e - m l m~ k!
kPl
For
any
k)
function
other
-m2 e k!
= k)
k=0
=
the
is
ffi k )
E(X
hitting
iS
(1
÷
of
=
Plml
C(k)
we
E(C(k))
=
~ k=0
+ (I
-
+
k( 1 kffiO
nl k P l ) _2_ e k!
Pl )m2"
have
C(k}P(X
= k).
So,
k=O
ffi
Let
x
be
the
activity. activity
Let
y
be
records.
* ( I
of
the
the
-
proportion
X__=_~x -
.
x
that ( 1 -
PI )
= 1_-_~ I - x
.
De~ the
E(C(k))
cml
= Cs(~.b.x.y)
= C6(ax,b)
and
,
kffiO
O,k). e'2 k!
P l ) C m 2"
data
Define
I
impties
Cm I
propoz'tlon
P 1 =
This
Pl
k!
records of
which
accesses
receive
directed
high to
high
~4
= C6(o~,b ),
-Cm2
where
the
C(e,b,xjy)
is
mixture,
either
the
n~mber
of
the
c~ i s
the
toad
retrievat, buckete
average
number
factor,
insertion
accessed
Cs(~.b,x,y)
or
for
= y__-_x 1 - x
b
of
is
backers
the
bucket
detetion
the
accessed
for
size
operation.
mixture
and
6
Is
The
expecte~
is
Cs(~x,b)
¢
1_=_~ 1 - x
the
factor.
C6(~,b)
,
where
~
b
is
the
When
bucket
x
ffi . 2
R
,retrlevat
[
,insertion
D
,de~etlon size
and
y
Define be
stored°
that
we
have
avaitabte The
= N
Let
d
an
ot
probabitity
.8 to
the terms
we
equat
binomial of
In
recoleds
presented
notation
toad
the
80-20
number
this k
assigned
k
for
records.
a
record
N
records
and
bucket
will
assignin~ have
In
a
approximation
in
this
-
identified N
we
(1
This used
uniquely
parameters
=(N)(l/d)
an
vute0
buckets of
case
with
of
of
probabitity
distribution. the
have
number
distribution
[21]
is
the
the
B(k~N,1/d)
Fetter
~
be
be
buckets.
number
and
1/d
l/d)
and
recot~is
to
Assume to
have
any
d
buckets°
a
hinomiat
of
the
N.
N-k
to
aoproxlmation monograph.
the
Poisson Is
now
Define
distribution presented N d
=
m
by in
to
15
be
the
average
number
of
Peeords
to
asslgned
a
bucket.
For
k
ffi 0
we
have
3(O;N,m) N TaMing
we
the
=
(
1
of
logarithm
-
_m N
both
)N
sides
and
using
the
Taylor
expansion,
find
log
For
large
fliO:N,_m) N
any
Ntog
(t
-
_m) N
=
-
m
-
_mz_ 2N
-
°..
N
B(O:N,_m) N FoP
~
fixed
k
=
e -m
and
+ O ( N - I ).
su~fIclentLy
B(k;N,~)
m-(k-1 N N
~avge
N
)(~) N N
Therefore,
B(1;N.m) N
#(2;N,_m) N
and
in
by
general
is
Denote
where
The
the
m
is
k
average
of
4.2.
=
=
m2 2
e -m
to
the
_mz~(1;N,m) 2 N
approximation
P( k )
mk
the
average
m
distribution
e -m k!
number
of
gives
wilt
transformed
keys
,
be pep
blnomia[
distribution.
assigned
to
by
,
distribution keys
,
k . .e.-.m ~ii k!
probabltlty
Poisson
exactly
me "m
=
Pois~on
this
=
induction
B(k:N,m) N
This
ffi m X B ( O : N , _ m ) N
address.
Chaini~g_~i~b_~n~E~_~!~1~
records
the
fraction for
a
of random
the
the
buckets.
addresses
distribution
to with
which an
16
CoLLisions List. are
Each
List
organized
in
storage
device.
bucket,
a
first
~ink
to
~
The ittustrated
its
head
buckets
an
All
in
be
to
Whenever
bucket.
organized
has
may
node
in
store
home
on
fail
inserted
belonging
synonyms
address°
effectively
is
overflow for
the
all
records
record
structure
figure
at
b
records
the
chaining
them
than
overflow
in
by
Located
more
overflow
chain
resolved
into at
to
a
the
a
certain
is
the
LINK
is
a
count pointer
chaining
with
separate
of
the
bucket
size
to
the
List
of
keys
in
this
HEAD
node
INFO
is
the
LINK
is
a
List
o¢
keys
in
the
NODE
~
structure
stored
key.
pointer
to
current
bucket
is
it
zero
overflow
the when
is
a
pointer
0.
When
to
a
List
an
overflow
NODE in
the
area,
~I0 node
is
a
BUCKET
pointer
points
node.
TAG the b.
Figure
BUCKh~I" a n d
4.1,
OVERFLO~V
NoSe
to node
Structure
Separate
Lists
node.
structure
for
ChaLniu~
ALgorithm°
With
a Lists
direct
access
the
same
end
of
the
bucket
Lists
bucket. a.
Art
area.
4.1.
NODE
on
is
are
17
Atgovithm
(Retrieval
by
hash
chaining
w~th
separate
Lists.) Assume pointed that
to the
by
that
a
nodes
Link of
a
BUCKET vector
the
is
[inked
variable
OVAIL.
The
variable
P
aEong
key-to-address bucket the
nodes
of
varlabte
Is
I
READ(P)
to
mean
address
P°
f
main
memory
[Hash
the
variables
P
data
an
list
is
a
and
h(K)
structure
function
of
a
that
are
the Is
used LINK,
pointed
to
used
track maps
~inked
In
pointed Link
to
such
to
by
Q
that the
transform and
the
P°
the
INFO
L~nk
algorithm.
from
the
disk
operate
[There
contaln~ng into
[Check [Check
a
THEN ENDIF. IF (TAG(P) THEN
DO PUT " n o t
f o u n d m,
ENDDO.
STOP
The
the
internal
key. ] GET K,
STOP
on
Define
addresses°
I~READ(i), i--f(i). key stored at the home address?] IF (LINK(HEAD(t)) ~ O) THEN DO PUT " n o t foundW~ is a List at the home address. ] ELSE P~f(LINK(HEAD(i ))). ENDI F . the ~lst for the current key, ] DO for the end of the List. ] I F ( P ffi 0 )
there
into
va~abLe°
the
addresses
A
keys
i~h(K),
[Is
[ink The
foLLows
in
track
a way
variables.
TAG by
pool
Assume
variable
NODE,
variable
readln~
Q
is
storage
together, pool
and
functions
auxlil~ry the
~lnked
storage
the
available
BUCKET
avaiLabLe
The
the
linked
are
transformatlon
addresses.
a
AVAIL°
buckets
OVERFLOW
moves
is
ENDDO.
= ! ) DO P ~ L I N K ( P ) , P~READ(P), P~f(p), IF (OVERFLOW(P) = K) THEN DO PUT " f o u n d " , STOP ENDDO. ELSE DO Q*-Ps P ~ f ( L I N K ( Q ) ) ENDDO.
18
END[F. ENDDO, IF (BUCKET(P)
ELSE
=
K)
THEN
DO PUT ENDDO.
" f o u n d ~,
ELSE
DO O~P®
STOP
P~f(LINK(O))
ENDDO. ENDIF.
ENDIF. ENDDO. 4.2.2.
E@tri~v_~a!_llm~ Johnson
to
address
air tk
=
[33]
defined
items
In
k
( (k
*
!
a
the
totat
number
list
of
k
items
b)(k
-
b
÷
-
of
probes
required
as
i )),
2 where The
k
)
number
equat
N
records
of
N
is
this
case
for
[ength
k
is
any
distribution
the
with
k
the
of
fist
List
! d
of
tength.
flies
the
apptied0
buckets
is
Since
The
! d
Assume
In
for
success
Poisson
d0
lengths
distribution
probahittty
¢ypicat be
of
binomial
the
can
number
distribution
to
%fiats
Large
hlnomlat
N and the
reduces
independent
in
is
records,
method
trial,
and
o£
usage
chaining In
b.
k
at
is
the successes
each
smaLL
approximation
probabitity
P(k)
to of
a
the List
is
k; where
The
X
=
No
d Polsson
distribution
has
a
mean
N
kP(k)
=
A.
k=0 The
length
fist bucket.
of
tength The
~
is
List ~.
expected
is
the
Hence
A =
vatue
number ms of
the
the
of
records
average number
In
a
number of
prcDes
liSto of per
The records item
mean in
a
19
is
addressed
of
number
the
items
mean
number
per
tlst.
-
of
probes
This
per
List
divided
by
the
mean
yietds
N
) =
CR(a,b
£ k=O
tkP(k
)
N
kP( k ) k=0 where
b
is
the
bucket
P(k)
=
size,
_k_-~
~
is
the
load
factor
and
.
kI -
N
CR(~,b)
=
for
t k
Substituting
CR(~,b)
1 m
value
~or
the
average
1
N E k) h
(k2-2kb*k÷h2-b)
÷ _! 2m
the
h
tkP(k)o
yietds
=
Consider this
E k=0
and
special
case
rewriting
the
number
where
b
above
CR(~,I
This
resutt
[27.
47,
was 48.
Introduced 4.2°
)
* m 2
(k
=
I.
Substituting
yields
e-m
l)m k-1
-
. e.- ~.b k|
.
presented
by
[33]
Johnson
chaining
method
and
catted
by
later
brock
others
chaining
was
[17].
Col/meyer
(Insertion
to
OVERFLOW
1
,~
Another
by
nodes is
a
a
by
hash
chaining
with
separate
)
Assume
the
=
first
tists.
that
+ 1
-~ - -bI - k. L
I r l ~ e £ t_~on__A l.g2rj__thm
Atgoriths
poiated
1
55]° by
3.
=
accesses
equation
N CR(~,I)
of
that rink of
[inked
the
BUCKET vector bucket avalLabte
is
a
[inked
AVAIL. are
avaitabte
BUCKET ]Linked
storage
is
ttnked
together° poor
pointed
storage in
pool such
Assume to
by
a
way
that the
link
2O variable
OVAIL.
from
avaiLabLe
the
pointer
and
removal
of
area
and
a
node
P
into
variables
moves
along
address bucket
operate
the
nodes
The
algorithm.
Define
of
a
that
[Hash
on
the
maps
track
key.
a
is
the
data
i
to
NODE,
containing
the
of
address main
underfLow The
the
used a
to P,
memory
by
f
Is
List.
Start
address?J
DO a
List
using
this
key.
~=AVAILE i 3, LINK( HEAD( i ) )~R, INFO(f(R})~K, LINK( f( R ) )*-0. NODE( H E A D ( i ) ) ~ N O D E ( H E A D ( I ) ) - 1 , WRITE(R), [There
Is
a
List
STOP
ENDDO.
at the home address. ELSE P ~ f ( L I N K ( H E A D ( i ) ') ) o
ENDI E.
DO
[Check
the
List IF
for the (TAG(P) THEN
current key. ] = 1 ) DO P ~ L I N K ( P ) .
P~READ(P),
P~f(P),
the the
writing
function
addresses.
l~f(l).
Link
from the
a
keys
the in
mean
A
INEO
track
K, t~READ(I),
P.
TAG ~nd
to
AVAIL
overflow
transform
WRITE(P)
tnterna~
the
Q foLLows
LINK,
reading
Define
key stored at the home I F ( L I N K ( H E A D ( I ) ) ffi 0 )
no
used
the
in
the
the
variables.
vari~bte
mean
he
and
auxiliary
to
into
Link
node
of
to
pointer
pointed
an
P°
pool
structure
is
a
management
variable
is
of
~
THEN [There
the
h(K)
address disk
i~h(K), there
of
~ ~re
and
functions
addresses
GET [Is
List
READ(P)
the
track
the
OVAIL
Q and
remova~
R~OVAIL
of
the
the
final
sto~age
The
variable
contaln£ng
the
Define
transformation
v~r£abtes.
disk
and
be
avaiLabLe
P, the
addresses.
on
the
managemant
The
variable
pool
to
conditions.
from
final
conditions°
R~AVAIL[i]
storage
underfLow
the
key-to-
Define
21
IF
(OVERFLOW(P)
= K)
THEN
DO
PUT "found", STOP ENDDO.
ELSE
DO Q ~ P . P~(LINK(O))
ENDDO.
ENDXF. ENDDO. IF
ELSE
(BUCKET(P) = K) THEN DO P U T " f o u n d * , STOP ENDDO. ELSE DO Q , , - P , P - - f ( L I N K ( O ) ) ENDDO.
ENDIF. [Check
for
the
ENDIF. end IF
[The the
key LAst.
is
(P
not
of
the
tist.]
= 0) T H E N DO the fist.
In
Insert
the
key
into
] IF
(NODE(HEAD(I)) THEN
DC
= 0 ) R~OYAI L, TAG( ~( R ) )~-1.
TAG( O )--1 ENDDOo ELSE
DO ; / ~ A V A I L E i ] , NODE( H E A D ( 1 ) ) ~ N O D E ( H E A D ( i ) )- I ENDDO.
END IF. ENDDO. ENDIF. LINK(Q
)oR.
L I N K ( f ( R ) ) ~ 0 ,, I N F O ( 2 ( R ) )--K,, WRITE(f'I(0)
)s, W R I T E ( R ) .
STOP ENDDO. 4.2.4.
I_ns_~£t ifln_I£m_e item
An operation. about
its
tnse
r ted o
If
chain
item
ls
in
associated
inserted
item
presence.
The the
the
~S
is
If
the
the item
time
file.
with
in
the
insertion
by
The
the
home
first
structure Is
ls item
performing
not
that is
address
in
tame £n
in
a
retrleval
~
notification
the
structure
required the
the
bucket
over,
to d
tow
Is it
glven Is
determine or
Lt
area.
is
If on
The
a
22
average an
number
of
insertion
operation
Ci(a.b)
The
=
unsuccessfut
to
accesses
the
direct
access
storage
device
during
is
1
+
search
~ k)b was
(k
-
b)P(k)
presented
by
k>b
Knuth
[34]
as
kZ
!
where
CN
is
the
unsuccessfu[
average
search,
number
This
insertion
time.
4.2.5,
~te!ifi~_A!g~Ki~bm
Algorithm
(Deietlon
by
of
file
unsuccessfui
hash
chaining
in
accesses
search
wlth
an
is
defined
%o
the
be
separate
tists.) that
Assume pointed that
to
the
by
a
nodes
OVERFLOW
is
vamiab%e
OVAIL.
the
pointer vetu~n
and
a
avaitabte
the
moves
Linked
a
node
finai
atong
the
nodes
variable
of i
is
the an
Linked
poor a n d
to
the
conditions. the
available
of
variables list
and
the P
and
the
The data
pool
h(K)
structure
he
the
OVAIL~P
storage
poor
pointer [ink
is
Q
LINK)
pointed
to
used
in
and
in
of
a
of
the
be
the
by
the
the
[ink
node
to
AVAIL
area
overftow The
varlab[e
the
keys
A
transform and
the
way
overftow
the
P.
TAG
a
that
by
variables.
to
such
to
to
follows
used
pool
Assume
return
Define
are
in
pointed
NODE,
variable
[inked
management
varlabie
functions
auxiliary
0
is
together.
finn[
OVAIL
storage
avaitabte
BUCKET
storage
transformation
addresses.
[inked
AVAIL[i]~P
management
the
are
avallab[e
to
The
a
AVAIL.
bucket
Define
key-to-address bucket
the
overflow
conditions. P
vector
storage
and of
[ink of
is
BUCKET
INFO
Link
overate
variabZe.
algorithm.
Let
into on
The LOC
23
be
a
to
mean
P.
function the
containing
reading
an
the
main
to
mean
track
Po
from
the f
memory
is
of
the
variable.
Define
disk
containing
of
track
writing a
a
function
a that
on
maps
the the
READ(P) address
disk
track
addresses
addresses.
K,
ioh(K), there
a
address
key. ] GET
[Is
the
of
address
internal
[}{ash
returns
WHITE(P)
Define
into
that
a
i--f(i). home address?] (LINK(HEAD( i )) = 0 ) THEN DO P U T " n o t found", STOP
key
IF
i--READ(i),
stored
ELSE
st
the
O~LOC(
ENDDO.
H E A D ( I ) ).
ENDIF. [There
is
a
list
at
the
home
address.
]
P ~ f ( L I N K ( H E A D ( i ) ) ).
DO [Check
the
list IF
fop the (TAG.(P) THEN
current key.] = 1 ) DO P ~ L I N K ( P ) , IF
P--READ(P),
P~f(P),
( OVERFLOW( P ) = K) THEN
DO L I N K ( Q ) ~ L I N K (
P )s
OVA[L~f-I(P), WRITE(LINK(Q) STOP DO Q ~ P ,
ELSE
),
ENDDO.
P~f(LINK(Q)) ENDDO. ENDIP. ENDDO.
ELSE
IF
(BUCKET(P) THEN
=
K)
DO L I N ~
Q)~LINK(P).
AVAIL[ i ] = P , WRITE(LINK(Q)), ELSE
STOP ENDDO. DO Q ~ P , P~f(LINK(Q)) ENDDO.
ENDIF. ENDIF. [Check
for
%he end IF (P
Of the = 07 THEN
list. DO
PUT
] "not
found",
STOP
ENDDO.
ENDIF. ENDDO°
Detetions
in
this
structuee
are
performed
by
initiating
a
24
retrieval
Locate
an
device
is
operation.
item
The
is
number
of
accesses
to
the
required
to
CR(~,b)o
The
average
the
same
The
amount
is
average
number as
that
of for
accesses ihe
retrieval
direct
access
operation.
storage
This
average
CD(~.b).
Assume
that
a
word
Hence, Pool
[55]
and
new
it
bucket
bucket
tables that
to
device. coatesclng
ALgorithm
70],
memory.
aLLows
by hold
ihe a
buckets
key
and
requirement
is
a
hd
words.
pointer.
presented
by
van
der
~s
(k
-
by
storing
the
when
the
enters
~34. in
~
b)P(k).
the
a
convenient
A is
to a
within
(DoubLe algorithm
address
record is
of
An
are
information
chaining
This
system.
tables
new
the
processes
the is
a
chain
technique
Our
ALgorithm
A
home
current
This
first
WiLLiams
d
to
storage
~c
generated
~g~_~Rg_t_!g~. when
enough
average by
required
k) b
un¢iLted
this
+
storage
Large
denoted
Lists any
Is
the
ffi b d
~c
0¢
he
to
Large placed
convenient
way
free and
slot
address
are
each
record
onLY
due
to
the
problem
catted
Knuth
we
desire
an
on
a
direct
access
to
solve
the
of
Linking
home
solve
so
a
occupied
algorithm,
way
in
once and using
algorithm storage
problem
using
buckets.
chained
scatter
searches
a
t~bLe double
search
and
chained
List
insertion) o~
buckets,
25
o~
size
b
the
bucket
key
is
are
taken
Looking
is
not
placed
current
.re
of
node other
node
two
wlth
a
tilled
is of
by
Each
fields.
whose
key
fields
respectively.
An
List
a.
are
Node
given
to
BUCKET[i
].
for
empty
a
s
Structure
figure
Of
0
Link
the
and node
in
to
by
AVAIL.
pointer
a
node.
Node
Figure
Structure
4,2.
Of
Coalescing
Node
Structure.
The
of
ROVER. of
they
occupied
and node
RLIIqK[ ROVER] structure
buckets
nodes
An
first
List List
~tnd
LINK[i],
Bucket.
A
The
occupied.
field
the
caLLed
( b,
and
fuLL, New
LINK
b.
is H.
a
( i
Ducker
by
4o2.
A
the
bucket to
by
and
LLINK[~OVER~
in
the
distinguishable
of
not
pointed
catted
ittustratlon
is
space
is
has
is
pointed
BUCKET
INFO[i],
bucket
K
If
pointed
types,
field
If
header
available
unit
key
K.
inserted.
o~
denoted
a
key
K is
distinguishable
contains
coalescing
List
basic
are
given
llst
being
The buckets
a
a
bucket
a
fuLL,
on
from
the
for
the
possible and
t~s¢
26
This
atgorithm
auxitiary
variable
bucket
empty,
is
variables.
of
the
BUCKET[
Alp
Aa. A3.
test
is
The 3]
is
use
used,
to
R=~OVER*b.
of
node
currently
respectively. and
use
The
b~cket
R
makes
are
list
occupied
fitted
a[[
3
function
empty
and
SS
filled
bucket
are
pointed
to
coalesce
in
the
range
h(K)°
spaces;
variables
by
within R
when
GS
and
to
j 3
An
are the
SS
J
last
and
each
[Are there any tuft buckets?] IF (R ROVER .,~ R L I N K [ G S ] ~ THEN
DO
ELSE
i--j * R O V E R .
ENDIF. [ Is t h e r e a IF ( BUCKET[ THEN
t--j÷ROVE~, A4 ENDDO.
ENDIF.
starts DO &5.
A7 o
which
here).
[Compareo
]
IF
( K = INFO[i THEN
A6 °
we wilt Look at within the bucket
])
DO PUT " f o u n d " .
STOP
ENDDOo
ENDIF. [Advance to next.] IF (LINK[i] ~ O) THEN i~LINK[ i ] ELSE go to AT. ENDIF. ENDDO.
[Find
empty node°] (The search was unsuccessfut want %o f i n d an empty position in the bucket). Decrease R one or more times untit finding a value
and
we
GS
ROVER.
[istT] i ] is empty ) DO M a r k B U C K E T [ i ] a s a n o c c u p i e d node, with INFO[ i ~K and L I N K [ i ] ~ 0 , STOP ENDDO.
(The BUCKET[i] is occupied~ the tlst of occupied nodes
node
bucket,
0)
ROVER--RLINK[GS], R--ROVER+b, @o to
the link
[ Initiatize pointers. ] IF (H = O) THEN DO R O V E R ~ A V A I L , A V A I L - - R L I N K [ A V A I L ] , GS~I~OVER*b, R L I N K [ G S ] ~ O , SS*-H, R L I N K [ H ] ~ R O V E R , R*-GS, L L I N K [ R O V E R ] ~ S S . S S ~ R ENDDO. ENDIF. [Hash.] j~h(K}+l. (Now i ( j (b.)
=
A4o
hash
find
last
aitowed
fo:
a
help The
the
being
of
27
such IF
that
(R
=
BUCKET[F] ROVEN
THEN
^
IF
is
empty,
RLINK[GS]
(AVAIL
=
THEN
=
0)
O) DO P U T " o v e r Z i o w " , STOP ENDDO. DO [~OVER~AVA I L , AVAIL~RLINK[AVAIL], R~ROVER +b, GS~R, RLINK[ R ]~0, RL I N K [ S S ] - - R O V E R .
ELSE
LHNK[ ~ V E R ]-ss. SS--R,
go
to
i--j *ROVER, A4 ENDDO.
ENDIF. ENDIF. IF (R
=
ROVER
THEN
^
RLINK[GS]
to
go
moved
lists after
4.3.2.
are they
using
Duhne
in A
for
[34]
a
new
a
A4
avaiLabLe
coalescing
been
lists
method
in
coalesce,
inserted
so into
results
[isis
summary
an
to
presented
of is
for
a
for
bucket
addressing presented
here
equal
d
probabiiity The~e
buckets.
are
N
The
of items load
m__s
where
d d
~
~
keeping
that
occupied
records
need
not
be
buckets.
calculating size
methods
b
N.
an
that
of
the one.
Severance
presented uses
retrieval
the
a
general
a
record
and
same bucket
List.
buckets.
=
For
i~j+ROVER,
ENDDO.
I!~
coalescing Assume
the
have
coalescing
[ 65]
res~Its. size
aLLowed
~e~rievat
Knuth time
0)
ENDIF. L I N K [ i ]~R, i--R, [ Insert new key. ] Mark BUCKET[i] as node, with I N F O [ i ] ~ K a n d L I N K [ i ]--0
AS.
Several
~
DO R O V E R ' - R L I N K [ G S ] , R~ROVER+b, GS~R,
m constant
we
have.
assigning stored factor
by is
chaining
to
any
with
of
28
P[X
=
In
the
storage
device
address
h(K)
nodes
List
the tend
to
be to
the
total
total
required
to
List
List
the of
k
tota•
t k
where The
mean
per
k
)
LiSt.
be
address
the
a
the
bucket,
are
aLLowed
Length
due
to
short.
Items
due
to
to
k
exactly, list
must
that
the
coalescing
is
number
or occupied The
be
of
smaLL
to
probes
.
of
probes
required
to
address
aLL
÷ _l(k 2
-
b)(k
-
b
÷
I )
items
item
addressed
in
a
'~ i _ k _ - - ~ 2
value
of
of
probes
This
the
number
per
list
of
probes
divided
by
per
the
mean
numbem
yields N
)
=
~
tkP(k)
.
k=O N kP( k ) k=0 average
of
coalesce.
coalescing
The
b,
CS(=,b
The
seek.
begins.
it the
access
we
snatch
that
Assume
direct
which
tilt
lists
at[
concluded
the
record
where
fiLL
on
as
=
expected number
to
record
when
number
items
each
[34]
Length
address
"
Knuth
List
£ k___- __b_) 2 Define
home
partiaLLy
short
e -m
LikeLy
the
may
--~T-
process
equaLLy
bucket.
contribution
keep
is
mk
=
retrieval
defines
A
over£tow
ffi P ( k }
k)
of
number
CR(~C,,b)
=
accesses
1
÷
The
special
N
1 2m
case
is
~
(k2-2kb*k~'b2-blL~x__blk_e_-~b
k)b
b
k!
÷
I 2m
; k> b
=
I,
yletds
(k
-
b)P(k)
of
is items
the
29
Ce(ae,,l)
1
=
* m * !2
Knuth ~ists
b
for
=
CN
[34]
presented
!_
e-m
2m
2m
result
a
+ _!
I
(e2~
I
-
-
2~)
*
8e
where
CN
toad
is
the
factor.
I¢
,
with
separate
of
new
wlth
accesses
result
a
during
presented
maximum
absolute
a
retrieval
above
for
b
error
of
.05.
and
ffi 1
~
is
the
approximates
.1
for
_~ ~ <
.9.
_*ns_e_at i o n _ ! i m e
4.3.3.
for
chaining
4
number
The
result
Knuth's
for
as
I.
~'
2
a
Lists
The
insertion
general
bucket
is
presented
time
for
size.
A
the
and
coalescin~
new
List
unsuccessful time
insertion
iS
not
has search
been for
in
defined
defined
coalescing
terms
of
this
se arc h • Assume (k
-
the b
Then. storage
device
÷
Length
in
an
insertion
is
average
during
an
=
1
number insertion
N ~ k) h
*
of
accesses
to
a
direct
access
is
(k
-
h
+
1)P(k).
~!~1i_on_A_!~o_ri!b_~
4.3.4.
The at
deleted. is
List
1).
the
Ci(~,b)
started
maximum
inserted
key
K
the
first
When
the
for
modifying
step
reptacLag
the INFO[
Is
step.
record
the AS PUT
used
of
is
i}~detetlon
If
the
The
ALgorithm TM
a
found
record.
"found
in
A.
by indicator
retrieval
operation,
reco~
is
in
search
the
deletion ALgorithm
not
indicator A is
ALgorithm
found,
a
nothing
deietLon is
is
indicator
inserted
modified
A
by
by
is
30
4°3.5.
~ i £ ~ A
record
is
Time
detet~on
not
is
found,
made
nothing
by
initiatin~
is
deteted;
a
retrievat.
otherwise,
If
the
the
record
is
detetedo In
access
th~s
storage
device,
The direct
The
~ccess
amount
access
Iota[
s~orage
for
by
bd.
device
number
CD"
of
accesses
to
the
direct
~s
with
has
a
not
to
storing
presented
betow°
node
is
is
of
storage
unsuccessful
large
search
previousty
presented
Lists
amount
coatescing
defined
Eist
by
An
to
hold
for
coalescing
b
1 )P(k).
by
a
der of
the
a key
lists
on
van
terms
required
enough
List~
on
presented.
coalescing
requirement
separate
stome
been
for
The
that
required
device
storage
search.
The
storage
is
average
Assume
pointer.
of
requirement
chainlng
unsuccessfu[ is
~verage
denoted
storage
storage
The [55]
the
S!~E~_~_~g~Eements
4.3°6°
a
casej
direct
Poo~
the buckets
and
a
N
keys
in
do
away
is
N C[(~,b)
The coatescin~
=
One with
t~e
probing.
~
~ k> b
amount
way
*
to
and open
d
E k>b
(k
resotve use
type
(k
-
of
storage
denoted
structurej
bd
links) An
I
average
list
~t
=
an
-
b
the open
addressing
+
by
*
required
~[,
to
store
~
I }P(k}.
probtem type
of
co[tisions
addressing
system
is
system
organized
is
to
with as
tlnear fo[tows:
a
31
there
is
a
set
sequence;
for
positions
is
inserted in
sequence the
the
open
position
is
used.
K,
using
for
made
g
addressing. and
is
every
Peterson
If
time [54]
with
K as
with
open
probe
is
K is
is
normally
probe
already is
sequence
key
the
position
List,
its
using
probe
memory
key
position
occupied,
encountered
determined
since
the
same
method
and
called
by
K,
the
sequence
of
processed.
introduced
this
obtained
estimates
and
simulation
different
with
Linear
types
it of
results
open addressing
for
the
mean
time.
A"
AL~or~i~hm
(Retrieval
hashing
A key-to-address keys
into
retrieve that
a
bucket
key
contains
from the
reading
of
a
the
address
of
the
READ(P).
the
a
node
first that
Location
i and
function
k
of
that
of
a a
disk
F
is the
the
auxitiary
maps
track.
of
a
address
track
P
address
P.
track
that
of
the
a
that
used into
by
to
transform
is
used
[ink
Assume has
to that
been Location
L
is
to
variable
READ(P)
first
containing
variables addresses
be
Define
Assume track
used
INFO[ i]
Let
the
Last
is
function
directory.
the
probing) h(K)
bucket.
Location
of
are
The
containing
containin~
Last
variables
addresses.
track
Assume
track
first
transformation
address
the
a
an
possible
List
first
the
K is
the
a
of
record
several
ALgorithm
is
the
in
List
record
on
the
K determines
discussed
Retrieval
of
a
the
If
not
key
Peterson
4.4.1.
the
the
position K.
that
K,
Initially
by
is
search
whenever
first
is
every
key
determined
conclusion
systems,
which
acceptable
inspected
searching
probes
by
retrieved.
second
while
rules
each
or
stored
of
the
mean r
set
is by
of
the
address
the
directory.
The
the
algorithm,
f
internal
main
memory
32 addresses.
[itash
the
the
key
address.
and
read
the
track
GET K. L~h( K ). i ~ R E A D ( I ) , k~i, DO Key with current
[Compare
~F ~ I S F O [ i ]
ENDIF. the next
to
i--i
-
iF
key.
]
K)
DO PUT " f o u n d " , STOP ENDDO° I F ( [NFO[ i ] empty ) THEN DO PUT * n o t found** STOP I~NDDO. ENDIF° TM
position. I,
(f-1(1)
ffi k )
THEN
DO PUT " n o t END I F . IF (i (f(r)) THEN DO [ IS
this
the
tast
track
to
the
tracks
found",
STOP
ENDDO.
kg]
before
IF [Move
by
l~f( i ) o
=
THEN ELSE
[Advance
specified
]
(F)
(f-l(i) THEN
DO
k.
after
i~L, i~READ(i), ENDDO, ELSE
i~f(i),
DO i--READ( f ° l ( i ) ), J . ~ f ( i ) ENDDO,
ENDIF. ENDIFo ENDDOo 4.4.2.
Knuth by
chaining
[34 I
with
introduced
separate
average
the
lists
in
an
number
unsuccessful
of
accesses
search
as
®
t
where
a
is
+
£ k) b
the
Load
The storage
(k
-
CR(~jb)
number
described
=
1
by
*
=
and
~actor
average
device
b)P(k)
tb(~)
b
of
is
*
~bt b
the
[34
tZb(¢
.
bucket
accesses
Knuth
*
t
to
I
£s
)
+
size
the
t3b(=)
direct
*
" ° °
access
,
ma~e
33
whe re
5? tnb(~
iS
the
toad
) =
factor,
b
and
Spruth
Schay addressing the
new
Markov
system
method chain
average
~
Is
P
I -
the
average
Morris catcu[ates
the
derivation.
The E
where
E
is
=
1
the
+
~ 2
buckets
of
size
M0,
M2,
MI.
retrieval
time
the
a
mode[ bucket time
I,
2,
..o of
l'andomness+ system
for
and
=
a
p
and
bucket
is
for
this
size
of
method
presented
open called
introduced
toad
one
the
They
size
the
.
one.
The
factor. which
without
was
,
Markov
.o.,
a
retrievat
retrieval
[67]
n
time was
avera@e
Tainiter a
search
n
modification
addressing
open
for
and
a
of
presented
time
averase
introduced
some
[48 ] presented search
size
[61 ] proposed
the
time
1
bucket
removed
for
2
nb)P(k)
the
modified
modet
metrieva[
-
~nb
is
which
the
=
where
(k
nb
~
modified
chain solve
time
Schay
model n
and
for
[inear
a
~
and
is
the
Spruth
genera[
equations
toad
factor,
method
and
bucket in
n
s~ze.
unknowns
For to
obtain
Mn_ 1 from
n-I M 0
-
E
n-j Mj
j=O
~
.
P
j=O
J
"
M
n
PO
where
Pj
~nd
p
is
the
=
^J
average
j!
e-p
number
of
records
in
~
bucket.
Use
the
M's
a
34
to
caLcutate
the
P(Vj
where
of i
)
pP(Vj)
records * j
-
average
is
= ! p
Jn-I ~ k=O
the
average
whose 1.
p
iS
the
bucket
Fk
(p)
=
I
ALgorithm
the
~k
jn-I -k E v=max(Oj(j-1
retrieval
j
e -p
=
k-1 E
(
2,
).
j!
(insertion
keys
insert
that the mean
into a
key
into
contains
the of
reading the
Location
the of
address
directory. fast
track
auxiiiary track
[Hash the
a
track
of
the
a
a
disk
is
the
the
k~i.
number
are
in a
main
track
i--f( i ).
F0
bucket
bucket,
direct r by the
The
memory
specified
(p)
is
P
n
=
used
be
a
Define P.
address
algorithm.
K.
i - - R E A D ( i ).
Let
address
i--h(K), DO
the
INFO[i]
track.
of
address.] GET
(P)"
1.
probing)
function
set
the
.
h(K)
that
been
the
internal
read
the
directory. by
used
rv+l
in
[inear
the
rotation L
which
2 ....
bucket.
Assume has
that
into
I.
The
on
P.
first
variables
and
of
for
records
with
the
track
containing
key
of
that
Assume
=
containing
address
addresses
the
track of
i
transformation
address
a
k
hashing
node
)n-k)
and
addresses. a
writing
containing
the
bucket
of
°..
~
j=o
A key-to--address the
is
number
1)
in
time
address
average
size,
A'"
time
calculated
is
-
retrievat
~EAD(P)
to
iS
WRITE(P)
to
device the
of
first
that
Location i
a
mean
F
co,taiaing
last
addresses.
by
variable
Assume
variables
to
rink
~rack
the
~
used
address
READ(P).
of
is
storage
the
first
transform
Define
access is
to
and
function
k
is the
of
t~
are that
maps
35
[Compare
key
with IF
current
key. ]
( INFO[i]
=
THEN ELSE [ Insert
the
K)
DO PUT "found", STOP IF ( INFO[ i] = e m p t y ) THEN DO
ENDDO.
key. ] ISFO[ i I--K,
W~ITE(f-I(i)), STOP
ENDDO.
END[F. ENDIF. [Advance
to
next
position.]
i~i IF
- 1, (f-l{i)
= k)
THEN condition.]
[Overftow
DO PUT
STOP
"The table ENDDO,
is
full",
ENDIF. IF
(i
(f(r)) THEN
[Is
this
the
last
track
before IF (i
k?]
(F) THEN
[Move
to
the
tracks
after
DO
k. ] i~L) i~READ( i ), i-f(
i ),
ENDDO, ELSE
DO i ~ R F A D ( f - l ( i--f(
t ) ),
i ) ENDDO,
ENDIF. ENDIFo ENDDO°
4.4.4.
Insertion_!!me The
the
retrieval
Linear
in
otherwise,
Hence,
of
performance
A measure
for
is
presented
by
hasbin~
linear here
probing
for
has
insertion
been
by
probing.
the
insertion
fire. an The
device
measure
time°
An
key
only
during
If
is
the
indication average an
made
key of
~he
number
insertion
is
of is
not
in
key's
the
the
same
rite
presence
accesses
the
key
to as
it is
the
that
and
is
for
the
inserted~
returned.
direct for
looking
the
access retrieval,
storage
36
Algorithm
A''"
hashing
(Deletion
A key-to-address the
keys
delete
into a
contains reading
bucket
key
from
the
address
of
a
the
writing
of
the
address
P.
a
track
of
the
that
that
the
been
the
[Hash
key
and
the
is
address
read
the
f
memory
track
i
that
a
and
k
function
first F
is
DO key with IF
))
k~i.
current (INFO[i]
of are
THEN deletion
that
by
]
DO for this key. INFO[i]~detetion WRITE(f'I( STOP
ELSE
IF
ENDIF. ENDIF. the next position, .i.~i - 1 ,
]
] indicator,
i )))
ENDDO,
( INFO[i] THEN
that the to
= empty) DO P U T " n o t foundH) STOP ENDDO.
mean
containing Location address
Last
track
auxiliary
= K)
indicator
to
directory.
the
i~f(i).
key.
mean
the
the
addresses.
specified
used
device
the
location
is
WRITE(P)
storage of
transfoem
to
K.
i~h( K )) i~READ(i
to
Define
to
variable
]
GET
[Advance
last
is
Link
containing
variables
algorithm,
a
READ(P)
Assume
track
the
The
be
P.
access
of
main
P
Define
the
used
INFO[i]
Let
address
first
is
function
READ(P).
the
probing)
h(K)
direct
r
directory,
internal
a
the
address
into
[Insert
track.
by
of
addresses
[Compare
disk
the
set
by
the
bucket°
that
used
address.
a
on
variables
t he
a
The
containing
Assume
is
of
of
Location L
containing
node
track
has
first
Assume
a
Linear
transformation
addresSeSo
a
track
with
maps
track
of
37
IF
(f-l(i)
= k)
THEN
DO P U T
Unot
found
n,
STOP
ENDDO.
ENDIF.
( i
IF
(f(r)) THEN
this
[Is
the
last
track
DO before
k?]
IF
(f-l(i)
(F) THEN
[Move
to
the
tracks
after
DO
t~. ] i*"L ~
I ~ R E A D ( i )~ i~f(f) ELSE
ENDDO.
DO i ~ R E A D ( f - l ( f~f(i
i )),
) ENDDO.
ENDIF. ENDIF, ENDDO°
a.4.e.
~!Le!i~n_.;II~ When
hsshed
and
found,
a
maintains is
a
a
deletion
search
deletion a
made
for
indicator
steady
made
for
is
the
is
state
it
sssumed
key
Inserted
the
fl~eo
that
in
the
file.
in
the
key
the
key
is
[f
the
key
position,
Therefore,
the
is
This
deletion
time
aiso
4.4.7.
~fl_~g~_SR~g_~fl~£em~n~ In
The
total
the
linear
space
required,
Wp =
dh°
Searches
relation discussed key, a
is
Is
and
number,
to in are
the
are
set
this
is
method
denoted
by
there
Wp.
initiated
in
all
records,
chapter
catted
which
of
probing
simple influenced
valid are
good
queries. by
to
a
The searches
These all
no
overflow
areao
is
response
~or
is
hashing that
methods
characters
query
of
expressed
methods involve
work the
in
by key
a
single
generating word,
~nd
38
yet,
appears
difficutt
to
when
especiatty the
be
tong
are
disk.
In
been
made
Changing
same
The
major
the
discussions
the
respect
variable
words,
the
about
with
with
dealing
with
letters
random
where
but
the
assumptions
in
This
word
tength
information,
one
have
when
this
chapter,
keys
on
the
fetter
been
occur in
storing
them=
onty
two
probtems
to
extremely
differs
or
where
interchanged,
these
keys
are
certain
direct
methods
is
prated
off
assumptions
access
storage
presented
may
the
have
devices.
produce
invalid
resu[tSo The [53]. and
This
file
efPect
paper
retrieve
that
method a
reordering
has
with
synonym
chains
provides
lists
a
has
record.
chainin~
that
the
no
tn
in
on
and the
[isis
performance
equal
average
Duhne
[65]
fite
procedures
Pete~son
stored
Reordering
in
of
concluded of
is
equivatent
to
base
is
targe,
numbe~
open to
that
prevents
which
an
accesses
accesses
method,
in
utitizatlono
number
number
chaining
presented
overflow
are
the
method.
are
probability
records
average
coalescing
the
with
on
on
acceptable
which
effect
effect
separate
in
records
order
organizations
decisions
result
Severance
no
track
severat
retrieving
verified
addressing
various
presents
organizations When
[5~]
of
and
[n
a
merging
of
inJtiatiy
chaining
with
separate
method. When
interesting
the
keys
is
perform
more
Several
interesting
Queries
that
intersect
data
targe.
operations
specify
some
subset
in~e£~Ktion_sueries.
For
than
queries that of A
a
%arSe simple
are the
the
sets
set
of
which
of
to vattd asks
keys
on
query
performed
records
query
the
on be
possible
one
would
the
data
base.
large
data
bases.
retrieved
records if
of
a
are
are
llke
those
to
that
catted
specified
record
iS
in
39
the
data
query is
structure
in
which
catted
a
with
is
catted
and
vatues
query
which a
6.
7,
one
records
Eegio~_g~er~o
an
~act
match
specified
for
in to
The
a most
which
any
he
retrieved
These
q~erx. proper
subset
generat
region
may
must
queries
An
have
type be
intersection of
the
of
specified
intersect,
been
keys
as
this in
studied
the
query Rivest
9].
Other
[3,
are
is
the
BentLey[59,
resolution
cat[ed
partia[___m~ch_guerXo
intersection set
is
key-to-address
methods 12,
11,
involving
targe
presented
in
[40,
for 18.
tables 39,
formatted 41.
42].
44, fires
transformations stored 45.
58.
that
in
main
63, are
and
coLtision
memory
64, stored
are
68]° on
described
Simu[ations a
disk
are
in
CHAPTEP RECORD
In records data
of are
number
this
the
of
in
the
and
inserting
the
disk
atgorithms.
maximizing
the
5,1,
use
modifications a
set
branches nodes, 5oio
storage
is
a
addresses,
at the
one
speed
to
the be
keys
and
The
keys
and
onty
find
Ciearty, of
must
with
the
a
smart
time.
ability
function of
of
device,
storage
properties
disk
disk
economicatiy.
Maximum of
structures
the
the
items
and
speed
of
arrangement
searchj
of
insertion~
accomptished
the
and
white
storage.
~ e e . _ ~ ! ~ _ ! ~ £ m ! ~ ! ~ z Most
is
the
TREE M~THODS
the
are
maintain
base
items
and
base
main
to
data
of
access in
necessary
finding
detetion
direct
is
items
on
a
USING
finks
data
remaining
change
data
the
large
on
them It
chapter
very
stored
PROCESSING
5
definitions
of of
An
those
nodes
with
a
in
in
example
of
a
section
references
NI,Nfi. N 3 , . . .
specified
this
Nn
[8. and
orientation stmp%e
connected
a
are
34. set
adaptations
66]. of
graph
A directed
arcs
connecting
graph
catted
v~rious is
and
given
pairs in
og
figure
41
N 1
N3
0
N2
Figure
A
of
each
branch
branch
is
catted
the
node
Nj
from
node
node
is
NI.N2w
nodes
sequence
teng!h
Ni
at
trees
is
there
are
of
its
if
most, a
~ E ~ * no
cycles,
Njo
A
a
Any it
of
if
node
is
Ni,
is
fottows
in
a
if
its
feast
one
that
tree
is path
is
has
node.
a
a
path
each
that
the
a
in
is
path
node
succeeding
a
path
tree.
A
any
graph
entering walk
at
along
the
there
ctosed
Length
of
branches
is
directed
branch
of
b~gb!
Ni
terminal
node
path
Movement
is
one
node
its
distinct. tree
from
the
initiat
or
Graph°
that
number
hath
terminat
Directed
such the
The
the
node
,Nn,N 1
A has,
to
and
.oo
with
ga~.
reachabte
N i
are
a
A
branches
coincides
catted
is
of
5,1.
no A
path
is
Any
path
initial
is
and
a
cycle
n
catted
a
cyctes
walk. and
correction and,
existing
since between
of
42
any
two
nodes A
entering has is
no
Dath
root
it,
and
branches
calted
level
is
of of
a
of
j
or
tree
%ear
and 1
-
number
of
figure
a
Any
A
root
a
node
from
a
which
has
node
non-Leaf is
which
root
branches of
node
tength.
terminat
a
it.
brancBln~__ra__ti_o in
unique is
or
b__renc_h__nede,
length
de~z@e
with
leavin8
tree,
The
a
a
The
tree.
presented
unique
[s
teawin~ that
is om
no a
branches
node
non-terminal
said
to
lie
on
ties
at
the
end
on
the a
node,
which
jth
node
first
of
lever
is
These
the
a
of
catted
definitions
root
1
Level
2
level
3
0
~ 0
0
b~anch of
5.2.
A
0
Tree.
node
degree
nodes
Figure
the the
5°2.
[ever
node
2
are
43 The
from
one
parent
node
node
each
ethel"
node
x
is
subtPee
x
of
and
said
rooted
simply
tree,
specified
where
a
that
13
a
to
be
at
x.
whoses
branches
The
nodes
of
node
the
tree
Is
of
in
length
end
of
the
The
x
each
the
se_%
x.
by
at
node
of
and
comprises
and
the
called
an
k
the
paths
x,
fiLiaL
set
from
of
and
set
nodes
suhtrees
roof
x
Length
is
are
the
siblings_
reachable
the
nodes
of
ordered
of
a
can
from
of
the
tree
are
tree
In
be
of
an
uniquely
vecte_~.
of
5.3,
filial
If
path
...
the
path.
figure
lie
the
govern_e_d
then
indicates
node
which
offs~2r_ing
= (i1.i2,
specified
terminal
nodes
set.
the
any
by
i
of
comprises
ordered,
ordered
of
set
these
the
ik )
of
numbem
This
vector
path
which
are
o~'dered
is
can
are
definitions
to
branches
from
a
traversed
specification
unique
be
referred
presented
[eft
be
to
to
wlth
an
as
node
ordered
at
[eve[
for
i,
tree
right.
n o d e ~
fiLiaL set
-
~
&~ subtree of
0 node(l,l, 1)
Figure
5.3.
An
Ordered
T~eeo
the
In
3
44
A tree lengths
ideas 31,
from
is
the
root
on b a l a n c e d
36,
37,
~aLaneed to
trees
51].
any
and
0
[29]
is
directed
I.
Leaves
tree
0
Hibhard a
two
difference is
between at
most
the
one.
reconstruction
are
is
in
iLLustrated
path Several
analyzed
in [ 2 3 .
figure
5.4.
tree.
A bina~
jl / /I 0
Figure
tree
the
their
A balanced
0
s@~rch
i~
0
the
graph
is
one
such
that
for
only
one
path
ends
with
p.
and
0
A BaLanced
5.4.
introduced
There
0
binary
search
the
foLLowing
having only
any which
one
node
Tree.
p
begins
node s there with
properties:
catted exist the
the one root
root, and and
45
2,
3o
For
each
with
p
The
set
L
is o¢
4.
For
The field
that
two
types
with
at
and
right
an
Least
the
root
heft
if
the
blank
than node.
the
key
the
TREE
Length
is
of
search
nodes
of
in
one
Link
a
that
tess
The
path
Length the
T~IE,
of that
as
R iS
sets a
called
a
Path Is
the range
the
binary from
a
An
wath
~
There
E
~
with
the
-
branches
on
value
right
or
function
of
tree. Length
tree
a
are the
path if
made btank
the
Sequence
a
is
node At taken
key by in
This
of
is a
which
different
function
varies.
into
root. are
one
tlnk
indicated
This is
the
is
heft
ave first
are
~
the
from
terminations
search
information
Insertions
some
path
an
L
A node
of
search
p.
characters.
vatue
node
is
D and
contain
nod~.
the
there
with
or
nuLL.
the
the
Links,
tree.
along
binary
where
digits
not
tree
than value.
Lengths
caLLed
is
with
tree
search
node,
node
in
more
tree
the
shape
L
beginning
~ r n a t
the
two
search
is
an
search
The
two
to
beginning
Link
binary
catted
key.
beginning
into
belonging
Link
or
succeedtn~
the
to
p containing
binary
one
nodes
the
N*I 2
a
contain
stored
and
node
right
is
partitioned
Link
one
key
Links
zero,
belonging
Each
exactly
any
or
Link
Left
traversing
and
greater
each
is
two
of
tinko
blnaPy
white
Each
one
nut1
existing
found
to
of
number
is
exactly
may
the
[inks
Link.
right
p,
either
R.
and
Left
node
from the
give
rise
46
for
a
bLnary
search
tog 2
foe
a
search
batanced tree
tree
only
right
tree.
An
rinks
or
onty
[eft
Links
N
binary
is
~ith
search
presented FiLe
in =
figure {I,
2,
ittustration
5.5. -I,
-3,
4,
-6}
flIii!Ll Jill!fill Iii[!!i[i] Figure
5.5.
Binary
Search
Tree.
of
a binary
to
47
Efficient by
Ctampett
fire
methods
[15]o
Coleman
structuring
structure°
using
Coffman
conctuded
search
trees
two-level on
a
is
not
that
known.
components This in
its
(h
was
[eaves
or
the
characters,
÷
1 )st
of
letter
to
on
node
(3)
device
for
is
whose
nodes
digits
introduced
by
external
set
of
The
node
keys
for a
5.2°2.
M-prate
vectors
characters
Any that
file
section
is
[24]° node
begin
on with
M-ary
A a
Trees.
search use
search
[arge
trees. of
given a
trees
an
branch,
a
illustrated
in
node
the
root,
B,
node
a stored
organization
with a
trio.
stores ~evet
certain
indicates
binary
in
catted
trie
of
tree
attocatlon
binary
in are
the
proposed
method
Search
binary
their
very
Fredkin
nodes.
at[
is
or
the
concerning
sotved
to
exampte
figure
first go
time
genera[
Binary on
are
records h
sequence
depending
of
on
the
character. An
trle
search
probtem tree
survey
problems
a
define
and
organization
storage
corresponding
represents h
mean
M-ary
structure
open
to
Trees a
structures
proposed
function
studied
main
tree
[16]
presented
The
This
An
Eve
fire
access
Eve
hashing
fargo
store.
searching
and
[52] the
for
direct
a
and
Nievergett He
of
to
5.6
of has
ten
trie
nodes;
is
found,
If
node
(3).
Looking
says
that
the
is
the
second
first
up
the
letter
(I)
is
letter
is
second
letter
is
E.
figure
in
5°6.
The
where
the
( I ) toils the
same
uS
way~
~t
&
~2 m
it
iI,
O
v
A
A
v
II !
! I t
| I |
! ! !
t t t
I
I ! I
I I i
1
I
! t 1
I 1 t
°
lI I
1 I
I ! t
! I I
t ! I
! I t
I | I
t I I
t ! !
I
J ! !
! I I
! ! !
I~
! t
I I !
! ! !
l ! !
I
l ! I
! |
! !
I I I
! ! !
! I I
I I I
t !
t ! I | ,,
!
t t I
I ! !
t
! I I
t
O I !
! ! I
o,1
',
! I t
'
~
t
.~ !
! I I I I t I ! ! I ! !
I
1
I t I
!
!
I I I
! ! t
t I I
! 1 i
! t I
1 t 1
! t t
! 1 t
I t I t
I I I .....I,
! I 1
I I t
I I I
1 I 1
! !
!
I I
o ~ o t I
I I t !
I
'!! I f!
I I I
I
l | |
I I J
!
! 1 t
I I I
I I !
I I I
| t t
I 1 !
I I !
I I l
I ! I
! I I
l,
I ! t
I I I
I 1 I
I f I
I I
I I 1
t I I
! I I
1 I I
I ! I
I
u I I
I I I
t
t I 1
A
I I !
! 1 I
!
I
........! ! I I I I I I I ! I ! J ! I ! I
Id
,-4
49
Morrlson on
the
binary
nodes.
method
varlabLe-[ength
many
in
a
the Bayer
on
a
disk
fixed
by
size
direc¢
The Bayer
B-tree. and
the
[east
B-tree
in
foLLowing
keyS.
3
is
and
for
¢0
form
without dealing
to
of
in
McCreight
[4J
what
a
N-node
storing with
trie
array.
addressing
is
transfer
search keys
trees
in
extremely
the
Long s
is
related
Het[erman
in
a
solved
catted
information
[28]
analyzed
multldimensiona[ the
a
to
problem
~
a
between
array,
of
block main
and
storing of
keys
storage
storage
of
and
storage. organization~
called
McCreight
data
number
of
class
0
B-~Pee, a
included
from ~
a
introduced
structure
h
the
addressing
deve[oplng
Define
to
the be
records ~(k~h)
o2
data
pages
as
structure
algorithms
to
nodes
for
o2
the
insert,
retrieve
B-tree.
the in
used
height
any
node
B-trees
of
the
tree.
Let
of
the
tree.
A
IE
T
is
empty
or
k
denote
tree has
T
is
a
the
properties:
2.
~
casesj
information
1.
h
suitable
method
and
The
delete
way
keys~
muLtldimensiona[
used
access
tree.
is
of
a
keys.
In
generalized
discovered
representation
This
addressing
[49J
The
Length
tear
Is
Each
node
at
Least
or
it
of
any
path
the
root
to
any
h. except k
has
* at has
the
Least
node
at
The
node
structure
and
in
5.7°
and
The two
Each
flguPe
root
1 sons,
3.
presented
from
most
the
root
is
reaves
has
empty
sons. 2k
*
1 Sons.
example
of
a
The
natural
B-tree
numbers
with
are
k
=
used
1,
for
a
50
The
data
part
of
the
B-tree
is
omitted.
~_~!!_
P
I
.
- ............
ffi p o i n t e r .
Ki
=
key,
Di
=
data,
a.
Format
2
.
of
.
4
a
B-Tree
.
5
Figure
node,
iii!iiiiii iii!iiiiiil
.
5.7.
B-Tree.
51
The grow. to
When
divide
pages
the
the
continue
to
new
with
page
pages pages
time
is
a
scheme
aLLow
performance
measures
have
Maintenance
algorithms
mentioned
a
and
are
h
~
1
,
A
slight
stored
contain
nodes
in
only
iS
called
to
a
a
and
of
transitions
the
performance
bounds
h
~
1
Any keys
h
the
1
B-tree
B-tree
in the
creating
a
of
records
performance
the
for
McCrelght.
Bayer
[5]. height
of
k
average
bounds
the
and
of
derive
and
records
the
h
of
a
three
operations
~here
aL~
are
+ togk+
and
of
that
on
to
and
number
Lower
by
showed
B-tree
deletion
Bayer
[4]
necessary
page
to
and
presented
is
and
the
by
it
to
~p_~i~g_~_oa~fi.
di£flcult
derived
aLtowed
(~--~_X) 2
is
a
which
data
•
tree the
non
are
stored
Wedekind
[69].
measures
for
Leaf in
data
nodes the
Leaf
B~:t~ee0
derive
for
that
be
the
furl
the
Upper
of
and
B@-tree
storage
1 ) ~
nodes.
pointers
Muntz
page
+
The
variation
Leaf
The
difficutt
(N
is
been
which
depends.
Log2k+l
where
on
a
N is
B-trees.
have
allow
insertion,
It
been
to
must
length,
ca~Led
such
McCrelght
variabte
above
is
where
opti~aL.
Botree
dividing
parameter,
for
the
way
page
%OgkN
measures
is
maximum
of
the
performance
B-tree
their
retrievaL,
to
near
Bayer
of
systematic
of
dependent
becomes
to
nodes
process
part
proportionat
device
a
The
one
are
grow in
grow.
B-trees in
which
binary
was
introduced
by
average
performance
Uzga[is
[50]
search in
a
introduced
tree.
search
of
They the
atgorittrms
approximated binary
tree.
Again,
it
is
B~-trees. to the
atiocate mean
number
52
A
Binary
track
Search
aLLocation
Trees.
and
measures
are
caLcuLated
fLexibLe
and
efficient.
is
device
TRIE
introduced
sequentiaLLy. each
for
is
One
store
Average
structure.
parameter
to
The
performance
method
controls
T~EE~
the
presented
efficiency
is which
dependent.
Knuth from
scheme
any
tree
algorithm
[ 35]
has
shown
binary
tree.
to
a
can
be
modified
The
binary
to
that
there
It
is
search
is
a
shown
trees
natural
that
on
a
transformation
an
internal
search
direct
access
storage
this
monograph
device.
contain
nodes
not
avaltabLe
aLL
order.
As
with
the The
of
accesses
the
caLLed
a
function
to
~
k
allocate
f(x)
that
Location
the
a
_
the
measure
~
the
tree tracks
such
search.
Assume
P
Is
of
a
node ffi P
a
in
a
is
pointer an
track.
assumed in
received tree
is
average
to
a
to
a
tracko
address The
a
is
cLearLy
a
it
of
search
search
track
a
search a
of
is
a
track
is
a the
important
transitions
Introduce
within
number
during
dynamically of
is
dynamicaLLy.
during
time
data
arbitrary
average
du~ing
number
the
the
track
search
grow
the
is
device of
some
generated
performance storage
that
are
Tunctlon
where
x
is
the
function
+ x
mapping main
that
generate
in
transitions
aLLowed
a
to
of
track
during
P
the
The
is
is
reference
. of
It
it
access The
number
the
uses
pointers.
but
direct
l
considered
received,
tree. ~
one-to-one internal
is
the
_
f(x) is
and
critical
Since
minimized
data
search
of
tree.
data
trees
initiaLLy
to
binary
search
memory
of
a
buffer.
node
pointed Since
to the
in
a
function
track
which is
is
one-to-one
~n it
53
has
an
node
inverse
in
the
f-l(x). track
An search
waste
presented This stated
atgorithm
that
algorithm
is a
Inverse
f-l(x)
is
the
rotation
B
is
modified
new
node
presented to
to
structure
is
the
best
features
uses
the
ide&
presented
process
indeftnitetYo
An
of
buitding
the
X[[ustration
lttustrate
retrieve
uses
the
of
keys
TREE
and
the
by
the
from
defined of
how
an
indicates
Braindais,
node
be
the
end
of
the
indefinite
continuation
structure
string.
Indicator.
INFO
is
the
stored
ANEXT
£s
the
address
of
the
next
ENEXT
is
the
address
of
the
slb&tn~.
Format
b.
is
Format
Of
the
Of
A Letter
address
A Word
character. fitiat
Entry
of
d~ta.
Terminating
Entry
internat To
reduce
[19] in
which
is method. he
continued
CODE
ADATA
the
atgorithm
Brlandals
can
an
tracks.
Figure 5 . 8 .
a.
of
P.
atgorithm
storage
The
set.
is
presented
In
54
I PT
iS
the
pointer
to
the
tree
for
a
particular
fetter. CT
ROV
is
the
to
by
is
the
a
fist
number
Format
Of
Figure
nodes
in
the
L£st
pointed
PT. upper
limit
pointed
Indleator
Co
of
is
A Root
5o8.
to
on by
inserted
the PT in
number before the
of
nodes
in
a continuation list.
Node
Node
Structure
For
algorithm
B0
55
This
structure
is
address
fields,
string,
and
ALgorithm
a
an
avaiLabLe
R ~
underftow to
to
keep
is
used
to
indicate
ADATAj
store
to
used
to
by
AVAIL. root. a
hold
and
tree.
indicator characters
the
Link
Q is Let
be
inserted to
be
the
of
P
used
Link
in
stored
the or
indicates
List°
from
end
the
A
along
of
a
~ist
Let
C
be
with the
Last
move before the
index
INFO
is
the
stored
ANEXT
is
the
address
continuation
the j.
string.
indicator.
character, o£
the
next
fiLXaL
in
set.
SR
the
data
used
vector
node
CODE indefinite
caLLed
PT
ANEXT,
each
the
Is
vector
vector
The for
to
t[nk
switch
a
pointer
h(K)
defined is
by
the
functions
PT°
the
used
of
to
AVAIL
The
nodes
by
move
retrieved the
node of
CT
to
Length
the
Tree)
pointed
continuation
variable
maximum
the
to
to
the
pool
trees.
variable.
~ points is
a
The
on
next
with
transformation
the
pointed
variable
the
of
retrievaL.
link
for
Symbol
addresses.
of
operate
List
temporary c
is
Link
Hooted
storage
bucket
or
each
count
Hash
management
root
the
variable
a
the
CODE
by
of
a
removal
final
into
of
to
The
A
keys
storage
INFO
Length
PT.
the
bits
fle[d.
Large
the
more
associated
A key-to-address
track
pointed the
and
the
used
structure
be
a
aLLows
~vea
in
is
to
conditions.
is
data
~etrievat
BUCKET
pool
transform
the
it
continuation
AVAIL
storage
since
to
and
that
Define
EHEXT.
pointer
B (Storage
AVAIL.
used
practical
indefinite
Assume
and
more
to
ROV
List
pointed
removed
tree along a
from
is
from the
suhtrees continuation
sequence
of
of
56
ENEXT
is
the
address
of
the
ADATA
is
the
address
of
data.
PT
is
the
pointer
to
the
CT
is
~he
number
ROV
iS
the
upper
a
list
is
is
SP
BI,
[Iaitiatize, IF
(SR
=
to
of
~
THEN
a
the
the PT
particular
fist of
number
before
in
List
a
a
before
s to re
1
retrieve
to
pointed nodes
in
continuation
list.
the
0
fetter.
a
continuation.
=
] GET
1
on by
for
in
inserted
tength
the
tree
nodes
tlmit
pointed
indicator c
of
sibling.
P
DO
C,
=
j ~
I,
i ~
h(Cl),
P ~
PT(1),
O)
PUT
nnot
foundHs
STOP
ENDDO.
ENDIF. IF
(SR
ENDIF B2.
~
0
~
P
=
0)
THEN
go
to
B9.
°
[Compare
characters.
]
IF
(Cj
ffi v )
THEN
go
to
ENDIF. IF
(CODE(P)
=
~+')
THEM
P
~
ADATA(P).
ENDIF. IF
(Cj
=
INFO(P)
)
code.
]
THEN
go
to
B7.
ENDIF. B3°
[Cheek
for
IF
(CODE(P) THEN
=
"*P)
P
~
ADATA(P).
ENDIF, IF
(CODE(P)
"-')
=
THEN
go
to
B5,
END[F. H4°
[Is
it
IF
slbting
a
(ANEXT(P)
or
a
fiLiaL
set
node?]
=
0 )
THEN
go
to
B9.
=
0)
THEN
~o
to
BS°
ENDIF, IF
(ENEXT(P)
ENDIF. P BS.
~
ENEXT(P),
[Find IF
the (0
ENDIF°
=
0
go
to
next
part.
~
=
SP
1 A
H2. ]
O ~ Cj
=
ENEXT(P), ~)
THEN
go
to
BI0.
B6.
by
PT.
57
IF
(0
=
0)
THEN
go
to
B8.
ENDIF. P E6.
~
Q,
[Last
go
to
B2.
character.
] IF
(CODE(P)
=
THEN
P
" ÷" ) ~
ADATA(P).
ENDIF. IF
"-')
=
(CODE(P)
THEN
go
to
BI0.
ENDIF. IF
(SR
~
1 )
THEN
DO
PU~
"no%
found",
STOP
ENDDOo
END[F. R ~
AVAIL
CT(I)
IF
~
CT(i
(CT(1)
1
) ÷
)
ROV(1))
THEN
CON(i).
ENDIF. --
"-',
ADATA(I~
) ~
ADR,
ANEXT(P)
~
CODE(R)
B7.
[Look
at
IF
=
(0
R,
the
STOP.
next
0)
character.)
Q ~
THEN
go
to
BE.
+
go
to
B2.
in
sibling
ANEXT(P),
END I F . P BSo
~
O,
j
~
j
[Insert
character
INFO(R)
~
IF
Cj,
(CT(i))
1,
ENEXT(P) ROY(i))
~
node,
R,
THEN
CT(i)
]
R ~
AVAIL,
~
CT(I)
÷
1,
CON(i)
ENDIF. j
~
j
1,
+
(Cj
IF
=
P
*- R , THEN
v)
go
to
B6.
ENDIF. go
Bg.
to
Bg.
[Stome IF
characters.
(CT(i)
>
] R
ROV(i))
"~ A V A I L , THEN
CT(I
) -- C T ( i )
+
CON(i)
END IF. INFO(R) IF
~
(SR
=
Cj, 0
~
IF
(P
=
0)
P
~
0)
THEN
THEN
ANEXT(P)
PT(i)
-- R
ENDIF, j
~
IF
j
(Cj
+
1,
P ~-- R ,
ffi v )
THEN
go
to
B6.
ENDIF. go HI0,
Definition
%0
B9 o
[Characters
of
CON(i):
found.]
AR
CODE(R)
~
P
~
CT(i
R,
) ~
~
ADATA(P),
÷,
ADATA(P)
ROV(i)
~
ROV(i)
CT(i)
÷
1,
~
STOP.
~
R, + c,
*- A V A I L .
~
R,
I.
58
A
presented Art
typica[
in
rooted
¢igure
pointers
are
5°9o
tree
The
pointers
to
produced
nodes nodes
in
in
this
by the
tree
BUCKET
algorithm
are
and
is
nodes
are
in
not
disk
how
the
BUCKET,
p addresses.
A
modified
internat
disk.
In
B
this
atgorithm a~gorlthm
case
A~ter
ROOT
presented
the
B
rinks
storing
~s
used
are
disk
CAN.
CAND,
tater
witt
to
retrieve
show
records
stored
addresses.
CANDY.
EGG.
[
[~Iiiili] [!IiiIi] [~Ii!iIi]
[~Ii!iI11
[21[ii-[i][~Ii!iIi] [!i[:~!Iij--[~Iiiili][:_I~!Ii] ..~
[!I!!~IiJ - [!I! iii] [-_I~1_~3] Figure
5.9.
~sh
Rooted
Symbol
Tree.
on
59
tree
Every in
the
forest
rooted
in
catted
ROOT The
to
store
entry
the
node
is
ROOT.
presented
Qodes tree
of on
The
the
ta~s ETAG
entry.
by
algorithm
An
itLustration
in
figure
symbo~
a direct
introduce
res~ectlve[yo terminating
produced
is
tree
and
placed
~[he A T A G
and 0
ETAG in
in
the
ETAG ANEX~
Figure
be
modified
In
each
Letter
device.
and
ENEXT
field
of
are a
defined
disk
ENEXT the
as
o.ddress
a
po£nter
is
in
within
a
disk
address
track.
track
is
ETAG
5.10.
is
a
pointer
shown
in
figure
=
B,
C}
ATAG
{A,
withi~
track.
ETAG
Organization
ATAG
Of
5.10.
ETAG
A
Track,
fle[ds
word
follows. ~
track.
is
ENEXT
Fire
ATAG
must
=
the a
trees
track.
ENEXT
of
5.9
ANEXT
is
another
organization
binary
=
1
rooted
tree
the
tag8
the
The
binary
two
figure
storage
ANEXT
ETAG
a
of
in
another
ATAG
is
5.9o
access
ATAG
B
in
60
s. 2.1.
R__e_tr_!i_ev_a t__A_t~o_~r_I_t~m The
retrieval
algorithm
B.
The
track
to
other
of
and
zero
track.
the
with
A presented
mean
and
stored
a
on
the
ALgorithm
Bp
of
roots
PT.
A key-to-address
keys
into
bucket
pointed
addresses
to
by
track P,
the
into
main
to
the
-
indicates
*
indefinite
of
another
contains
a
this
case
ADATA
of
part
shows
of
how
retrieve
device.
direct
access
)
are
stored h(K)
functions
nodes
in
is
used
In
function
the £
addresses. the
end
of
the
string.
CODE continuation
iedicatore
to
to
device
buffer. stored
vector
[ink
ANEXT.
defined The
a
is
from
READ(P)
storage
device.
B
typical
Define
tree
storage
atgorlthm
information
symbol
on
tag
data
a
rooted
The
the
the
hash
variables.
memory
address
memory
trees
[ink
the
main
of
operate
a
node
retrieval
transformation
ETAG
is
internal
access
the
remember
an
direct
the
within
to
address
storage
into
retrieval
Cjo
modified
a
In
algorithm
from
in
addresses.
and
the
access
(~tetrievat
The
ATAG
This
a
the
v®
in
B'. is
contains
~
old
algorithm
point
s±orage
of
address
a
Cj
the
to
the
when
contained
direct
on
CODE~
vector
algorithm
reading
containing
occurs
version
al~orlthm
guide
field
access
key
similar
important
Link
direct
the
search
the
the
modified
as
the
is to
An
COndition
special
code
used
tracks.
A
associated
trees
are
that
contains
internal
tags
indicates
termination
field
a[gorlthm
caLLed
transform
ENEXT.
ADATA.
data maps
the
structure the
track
INFO~
61
INFO
is
the
stored
character,
ANEXT
is
the
address
of
the
next
ENEXT
is
the
address
of
the
sibling.
ADATA
is
the
address
of
data.
PT
is
the
pointer
to
the
0
filial
t~ee
ANEXT
ATAG
ENEXT
[Initiatize.]
GET 0 )
address
in
pointer
a
within
a
disk
address
An
tr~ck,
ffi
the
=
disk
is
ENEXT
(P
a
letter.
track.
another
IF
particular
track.
is
%he
BPl.
s
ffi ANEXT
ETAG
for
is
another
set.
THEN
Cj
j
~
DO
PUT
a
is
pointer
within
track.
I)
i
~
"not
h(Cl)
)
foundW.
P -STOP
PT(i)) ENDDO.
ENDIF. P B'2.
~
I~EAD(P))
[Compare IF
P
--
f(P)°
characters.]
(CODE(P) TBEN
=
IF
(Cj
=
v)
~
f(P)
TttEN
go
to
"÷P)
IF
(ATAG(P) THEN
ffi 0 ) DO
PP
ELSE
P
~
t~EAD(ADATA(P)), ENDDO°
f(ADATA(P))o
ENDIF° ENDIFo IF
(Cj
=
INFO(P))
THEN
go
to
B'7,
ENDIF, B'3.
[Check for IF (CODE(P) THEN
code. ] ffi " * P ) IF
(ATAG(P) THEN
=
0)
DO P
~
P ~ ELSE END I F END[F.
P
~
READ(ADATA( P ) ). f(P)
ENDDOo
f(ADATA(P))°
B'60
62
IF
(CODE(P}
[Is
B'4.
IF
it
a
"-')
=
sibting
(ETAG(P)
=
THEN
or
a
4o
to
fitial
B'5.
set
node?]
0 )
THEN
DO P
ELSE
P
~
~
I~EAD(ENEXT(P)),
P
--
f(P)
ENDDO.
f{ E N E X T ( P ) ) .
ENDIFo to
go
B'2,
[Find
B'5.
IF
the
next
(ETAG(P)
part. ]
ffi 0 )
THEN
DO
Q ~ IF
READ(ENEXT(P)), (Q
~
0)
THEN
Q-
f(Q)
ENDDO.
ENDIFo
ELSE ENDIF. IF (O =
Q ~- f ( E N E X T ( P ) ) .
0
^
Cj
ffi v )
THEN
go
to
B'8.
ENDIF. P ~
[Last
B'6.
IF
gO
Q,
to
B'2.
character.
(CODE(P)
=
THEN
]
" ÷" )
DO
IF
(ATAG(P)
= O)
THEN
P ~
f(P)
P
~
I~EAD(ADATA(P)),
ENDDO.
ENDIF. ELSE
P
~
f(ADATA(P)
{CODE(P)
=
"
")
)o
END IF. IF
THEN
go
to
B'8.
END I F o PUT
"not
IF
STOP.
f o u n d w,
at
[Loom
B'7.
the
(ATAG(P)
next =
THEN
character.
]
0)
DO
0
~
IF
READ{ANEXT(P)), (O
/
O)
THEN
Q-
#(Q)
END I F . ENDDO.
ELSE
O
~
f(ANEXT(P)),
ENDIF. IF
(O
0 )
=
THEN
go
to
go
to
B'5.
ENDIF. P
~
This
than In the
the
the
one
Bayer
B-tree.
particutar
O,
j
~
j
algorithm
presented and This
key
in
1,
+
found.
[Characters
B'S.
] AR
is
by
McCreight
more
and
method a
a
The
ADATA(P)j
efficient
Hayer
requires wage.
B'2. ~
search
in
terms
McCrelght
the
linear
terminate.
Reys
search
for
are of
length
of
Large
ordered the
for
search
Keys this
data
speed
bases.
in
pages
to
find
search
is
of a
63
2k ÷ 1. 2
the
They
for
page
search
suggested
targe
tength
keys
when
Cannot
of
the
sotve
the
binary
sequentiat
input
of
6,,
sequence
is
15.
from
The
using
consider
5.
there
used.
a
a~ocatton
is
binary
A binary
so~ved
5.11
12.
a
Remember,
probtem
track
o~
keys.
search
figure
{i0,, The
sets
use
Log22k,
the
In
the
te~t
in
search
is
~s
a
price
Bayer
track
2,,
13}.
to
right.
track
1
track
2
track
3
B"
size The
of fi~e
faster o£
and
atgorithm
method. 9.
search
ordering
McCreight
three used
to is
® 5ollo
Sequentiat
Binary
tree
Allocation,
a the
method
economic~tty.
=
Figure
with
ittustrate
64
In transitions
this in
a
Muntz number a
of
direct
that
the
search
and
access
path
number
retrieval
first
any
search
tree.
store
of
keys
in
the
tree
is
search
to
number
of
track
tree
be
node
direct
N.
average
sequentially
involved
that
ks
A
the
buckets
The
numbe~
storage
device ks
Of
with of
in
approximation
new
t~acks
d
on
assumption
interrogated
approximation two
first
in
stored
access
This
stored
tree
tree
reference,
the
approximate
an
average
each
the
about
the
This
presented.
assumptions
a
binary
track
new
is
Consider
presented
tracks
references
average
[50]
device.
a
the
15/8.
a
two
operation
without
number
for
requires Of
is
stora~e
the
method
Uz~a[is
references
after
search
a~locatlon
during
a
binary
b.
buckets
to
developed
the
size
a
Let
the
needed
to
•
.hooe
ks
The
function
tree
f(x)
those
nodes
Assume
the
and
is
keys
of
the
generate that
equ&[Ly
dynamically tree
as is
not
exoeedod
sequentiat[y
to
buckets
are
oteoer
stored
f-l(x)
within
constructed structure
=a.est
to
keys
determined
the
addresses
reference,
[ikeiy the
in
b
are by
k
to
nodes
buckets
other
in
arrive.
The
the
order
buckets
other
for
is
Therefore, in
the
buckets,
tree
received.
using
which
the
the
Meys
the
average
arrive, The path
lenMth
with
N
to
internal
average an
internat
Internai
nodes,
or
there
or
external
external are
N!
path
node,
sequences
length
is
binary
in
a
in
the
tree,
search
tree
HibhaPd
65
derived The
formulas
internal
[29]
for
path
the
average
Length
for
a
internal
and
binary
search
in
tree
external tree
path
Lengths.
defined
by
Hibbard
is
L(N)
where
N is
average So,
=
the
number
internal
[og21
is
records
k
assigned the
path
Load
k
nodes
the
be
bucket
factor.
coot
has
into
accessed. m
and
= ab#
number
of
by
b
buckets
the equal
to
one.
1.4Log2(1.64).
buckets.
average
where
is
Length
one
k
The
~(N)
path
approximately
divided
is
The
the
The
value
are
must
each
,
Length.
N records
buckets to
of
assigned
The
is
lo4-[og2(N)
To
access
number
of
is
the
bucket
is
represented
the
N
records
size
and
cz
as
= ~.N. m
Therefore storage
device
the
durin@
CR(~.b)
=
a
mean
numbeP
of
retrieval
1.4[oga(~N
accesses
to
the
direct
access
is
+
.64)
.
ra 5. 2 . 3 .
!_ns_~e_r t i_ea_Al_~o_x!_t_~_m
ALgorithm
B'"
(Insertion on
Assume
pointed from
the
pointer in used
a
to
by
Link
direct
that
AVAIL.
avaiLabLe and
to
a
storage
transform
catted the
a
hash
access
BUCKET
Define
underfto~
vector
in
is
conditions.
keys
storage
a
Large
R~AVAIL pool
PTo
~'ooted
and
to the The
symbol
tree
device.
)
storage
be
the
bucket
disk
of
management of
A key-to-address into
of
removal
final roots
pool
stored
addresses.
the
transformation The
a node of
trees
tracks
the
are
AVAIL
stored h(K)
functions
Is
66
ANEXT,
ENEXT,
defined link
in
reading the
P
a
that
used
the
is
main
P.
into
an
the
move
and
an
Internal
of
a
track
Define
main the
from
nodes
variables. the
subtree,
of
~EAD(P)
fo
device
iS
tree
the mean
Define
access
storage
track the
WRITE(P) device
P.
indicates
the
Of
end
the
string.
CODE ÷
indefinite
continuation
indicator.
INFO
is
the
stored
ANEXT
is
the
address
of
the
next
ENEXT
is
the
address
of
the
slblin@.
ADATA
is
the
address
of
data.
PT
is
the
pointer
to
the
CT
is
the
number
~OV
is
the
upper
a
list
is
the
of
is
length
on
to
by
inserted of 0
a
filial
tree
node,
limit
pointed
indicator C
character.
in the
FT
the
particular
list
number
the
list°
before
ANEXT
is
a
nodes
the
is
a
in
a contKnu~%ion. disk
address
track.
track.
to
continuation
= ANEXT
letter.
pointed
of a
another ATAG
a
before
in
fist
for
set.
pointer
within
in
by
PT.
a
and
containing
buffer.
direct
a
A O
root.
f maps
storage
memory
on
link
function
access
on
the
the
The
addresses.
operate
tree
alon@
P.
direct
by
the
move of
ETAG
to
a£ong
to
value
the
address
ATAG
pointed
used
from
writing
contain
to
memory
%rack
address mean
is
varlab[e
into
CODE,
structure
vaiue
of
INFO,
data
£ink
initial
addresses
to
the
variable
temporai'y its
ADATA,
67
ENEXT
is
another ETAG
[ Initialize.] (P
=
O)
address
GET THEN
C,
j
~
go
to
is
a
pointer
within
1,
i ~
h(Cl),
P ~
PT(i),
B'P9.
ENDIF. P
B''2.
~
READ(P),
[Comoare
P
~
f(P)o
characters.~
IF
(C 0
=
v)
THEN
to
go
BP'6°
ENDIF. IF
(CODEfP) THEN
=
t+.)
IF
(ATAG( P ) = THEN
0)
DO
P
~
READ(ADATA(P)),
P
~
f(P)
ENDDOo
END I F . ELSE
P
~
f(ADATA(P))0
ENDIF. IF
(Cj
=
INFO(P))
THEN
go
to
B''7.
ENDIF°
B''3.
[ Check IF
for
code
.]
= "+') IF (ATAG(P)= THEN
(CODE(P) THEN
O) DO
P
~
READ(ADATA(P))~
P
~
f(P)
ENDDO.
E N D IF. ELSE
P
~
f(ADATA(P)
).
THEN
go
E N D I F. IF
= "-')
(CODE(P)
to
B''5°
END[ F.
B''4.
[ Is IF
it
a
sibling
(ETAG(P)
=
or
a
(ilia[
set
node?]
0)
THEN
DO
ELSE
ENDDO. P ~ f(ENEXT(P)
P
~
READ(ENEXT(P)),
P
).
ENDIF.
go B''5.
to
[Find IF
B''2. the next
( ETAG(P} THEN
part.
=
0 )
DO
Q IF
-
] READ(ENEXT(P)
(0
~
THEN
END IF.
),
0) O
ENDiF°
ELSE
in
track,
the
IF
disk
TM
ENEXT
B~Sl.
a
track.
ENDDO. O ~ f(ENEXT(P)
)o
~
f( O }
~
f(P)
68
IF
(O
ENDIF. P ~ 0,
B''6.
= 0
^
go
Cj
to
= v
THEN
go
to
BP'8.
B''2.
[Last character.] CT(1)~CT(i ) * I, IF (CT(i) > ROV(i) ENDIF. CODE( f ( R ) )~-"- " , ADATA( f ( R ) ) ~ A D R ,
R:AVAIL, )
THEN
CON(i
),
ANEXT( P ) ~ R j
B''7.
p,.f-l(p)~ W R I T E ( P )~ STOP. [Look at the IF
(ATAG(P)
THEN
P ~
Q,
j
[Characters
B''9.
[Store
~
character°
]
O)
DO
Q ~ READ(ANEXT(P)), IF (O ~ 0) THEN END I F . ENDDO° O ~ f(ANEXT(P)),
ELSE ENDIF. IF (O = O) ENDIF, SlJS.
next =
j
THEN
go
to
+ I, found,
go
"to B ' ' 2 .
characters.
ADATA(P),
terminate,
] t~-AVAIL,
CT(i )*-CT(i) * 1, IF (CT(i| > ROV(I)) E N D I F. INFO(f(R))*-Cj,
IF
(P
THEN
CON(i),
~
THEN
O)
ANEXT(P)~R
ENDIF. PT( E )~R + I, P~f(R), IF (Cj = V) THEN
.j~j
go
to
B~6.
ENDIF. go to BPsg,
CON( I ):
f(O)
B°'5.
~
]AR
O ~
CODE( f ( R ) ) ~ ÷ , P~f(R), CT( i )~T(i
ADATA(P)~R,
ROV(i)~ROV(i) ) +
1,
÷ c,
R~-AVAIL.
69
5.2.4.
I nsertioD_Ti~e The
one
more
key
was
number
than
the
inserted
to
accesses operation
of
number into
the
comparisons of
the
direct
comparisons
t~ee,
= CR(G,b)
Algorithm
B'''
(De[etlon on
Assume
pointed
to
and
to
ANEXT, defined [ink
in
its
addresses
the to
that
is
into
is
needed average
during
an
of
the
contains
a
P,
to
from
into
writing an
move to
va~ue
memory
internal
of
a
track P.
storage
%o b e
pool
exactly
when
that
number
of
insertion
the
return
of
along move o~
on
by
The
access
the
The
node the
AVAIL
are
stored h(K)
the
tree the
[ink
nodes
of
to
device
A
root.
f maps
READ(P)
storage
direct
the
sub[tees
~unction
memory
on
variabteSo
from
i~
functions
ETAG operate
Define
main
of
trees
addresses.
the
a
tracks
transformation
atong
P.
the
disk
of
roots
to
stored
of
The
A~AG and
direct
an
address
)
management
addresses.
¢be
device.
fina[
pointed
used the
t~ee
the
bucket
CODE,
structure
is
track
into
INFC,
used
~arge
symbo[
A key-to-address
keys
variabte
main
a
and
PT.
the
value
address mean
device
rooted
AVAIL~P
pool
called
P
rink
inltia[
readin~
a key
were the
storage
conditions.
data
variabte
temporary
Define
ADATA.
the
hash
access
storage
transform
a
BUCKHT i s
overflow
ENEXT.
in
direct
AVAIL.
vector
[ink
used
by
a
that
avai~abte
pointer a
storage
find
~" I .
_Det_e_tien_A!So_Eitbm
in
that
Thereforej
access
5.2.5.
the
to
is
Ci((~,b)
to
needed
Q
a
tree
the mean
is
and
track the
containing
buffer.
Define
access
storage
WRITE(P) device
a
70
indicates
the
end
o~
the
string.
CODE +
indefinite
continuation
indicator.
[NFO
is
the
stored
ANEXT
is
the
address
of
the
next
ENEXT
is
the
address
of
the
slbting.
ADATA
is
the
address
of
data.
PT
is
the
pointer
to
the
character. fiLiaL
tree
ANEXT
tot
is
another
ATAG
the
a
the
[InitiaLize,.] ~
GET 0 )
address
disk
is
a
pointer
within
a disk
address
P
~
C,
j
THEN
DO
PUT
P
f(P).
READ(P}.
(ComDRre
~
is
a
pointer
within
track.
1,
i
~
Mnot
h(Cl)
found",
~
charscters°
]
IF
(Cj
~
,
P
~
STOP
PT(i), ENDD0.
v)
THEN
go
to
B"~'6.
ENDIF. IF
(CODE(P) THEN
in
track.
ENDIF. B" ~'2.
in
= ENEXT
(P
Letter.
track.
ENEXT i s
IF
particular
track.
another
B'P'I.
a
= ANEXT
ETAG
set.
= IF
"÷') (ATAG(P ) THEN
= 0 ) DO P ,~
READ(ADATA(P
) },
71
P --
f(P)
ENDDO.
ENDIF. ELSE
P
~
f(ADATA(P))o
ENDIF. (Cj
IF
=
INFO(P))
go
THEN
to
B'''T.
E N D I F.
B'''3,
for"
[Check IF
code. =
(CODE(P) THEN
]
"÷')
iF
(ATAG(P)
=
THEN
O)
DO
P
~
P
-- f ( P )
READ(ADATA(P)), ENDDO.
ENDIF. ELSE
P
~
f(ADATA(P)).
ffi
"-')
ENDIF0 IF
(CODE(P)
THEN
go
B'''5.
to
ENDIF. B'''4o
[IS IF
i%
a
sibling
(ETAG(P)
=
THEN
or
a
filial
set
node?]
O)
DO
P
~
~EAD(ENEXT(P)),
P
~
f(p)
ENDDO. ELSE
P -- f ( E N E X T ( P ) ) .
ENDIF° go
B'''5o
to
[Find IF
B'''2o
the
next
(ETAG(P)
paPt.
=
TBEN
]
0)
DO
O ~ IF
READ(ENEXT(P)), (Q
¢
0)
THEN
Q ~
f( Q )
ENDIF. ENDDO. ELSE
Q
~
f(ENEXT(P)
).
E N D I F. IF
(0
=
0
~
Cj
=
v)
THEN
go
to
B'''8.
ENDIF. P ~
B'''6o
Q,
[Last IF
to
go
B'''2.
character.
(CODE(P) THEN
]
"~')
= IF
(ATAG(P) THEM
=
0)
DO P
~
READ(ADATA(P
P
~
f(P)
ENDDO.
ENDIF. ELSE
P
*
f(ADATA(P)).
IF (CODE(P) ENDIF,,
=
"-')
ENDI F.
PUT
B'''7.
"not
[Look iF
at
found",, the
(ATAG(P)
THEN
THEN
go
to
STOP° character.
next =
0 )
DO
Q
~
]
READ(ANEXT(P)),
B'''8.
)).
72
IF
(O
/
O) O ~
THEN
f(O)
ENDIF.
ENDDO. ELSE
O ~
f(ANEXT(P)
=
THEN
),
ENDIF. IF
(0
0 )
go
to
B'''5.
go
to
B'''2.
ENDIF. P
B'''8.
O,
--
j "- j
[Characters WRITE{
One
may
wilt
efficiency
estimates.
is
from
deleted
indicator
a
in
node.
the
other in
and
the
direct
the
tree
and
invalidate
H£bbard
has
proved
the
resuiting
tree, deietion
mode
average
device
is
avoids some
to
remove of
thus
made
that
by
tater
tree
disk
a
is
the the
deleted
accesses
deletions
and
the
a
random.
deletion
pointers tree
etement
random
silt[
inserting
time
the
random
after
processing
At
number
can
to be
nodes. to
the
direct
access
is
= CR{a,b)o
S £ o r ~ g ~ _ ~ _ ~ g ~ i ~ m ~
two
Links, access
that
each
The
node
number
storage
~S
.boro
of
a
a
This
batch
a
Assume key
).
sequence
tracks.
CD(~,b) 5.2.7.
p~f-l(p
tong
random that
in
that
degenerate
Assume
The
storage
] CODE(P)~I.
STOP.
think
insertions
processed
found.
P),
De_.te_t l_o_n_I!m_e
5.2.6.
buckets
~ 1,
of of
device
the
buckets
nodes
contain
required
is
b~
the
sma
est
io,oge,
not
o
ooe
ed
to
bits
stome
for
the
the tree
on
73
5 ° 3. I o
the
~t_~rie_Xv~!_A!g~r_A
nodes
A
trie
of
a
is
uneconomicaL.
The
or
The
Each
with
the
a
trie
a
a
section
5.I.
vectors h
this
method
on
certain
direct
require of
node
vector
on
M-pLace
advantage
vectors.
by
in
characters
real
begin
defined
5.6
Figure
itiustrates
tree.
Storing
digits
t_~hm
Level
specifies
an
with
is
for
the
a
the
set
branch,
be
corresponding
string
h characters.
M-ary
can
of
addressing
represents of
device
components
accesses
h
sequence
access
in of
The
to
Length the
aLL
ho
M-pLace
keys
node
that
represented +
depending
on
the
(h
1)st
accesses
to
the
direct
character. One access into one
storage the
[eve[
In
by
i,
to
is
set
genera[,
by
o£
the
tend
by
be a
use
two
pointed time
This
is
empty.
at
reduces
the
of
if
out
the
number
accesses
economicaL,
This
is
of to
each
Level
number
of
index
into
to
index
accesses
characters
we
can
save
memory
Lists
are
used
for
since
most
equivalent
of
trees.
B
an
iLLustration
is
that
Linked
forest
algorithm
characters
This
number
of
at the
by
each fitlaL
h. 1
Punning
trle.
to
table by
of
number
increasing
the
Bralndais expense
to
the
pointers.
reduces
pointers
reduce
device
fiLiaL
haifo
set
way
The
to
rooted of
a
entries
replacing tree
forest
in of
space
each in
a figure trees
node
the
trie
at
vector
vectors
stored
5.9
the
in
a
~enerated
rooted
in
ROOT. 5.3.2.
~etrieE~L~e The
average
number
of
references
to
retrieve
an
item
from
a
74
trie In
stored
this
from
trie
the
until
on
Searching
a
h
is
h
of
chosen
are
there
on
ieve~s
buckets %he
2.
L
ne
=
!
m
and
3.
...
tog
it.
both
tOgne(~
) *
is
the
access
of
the at
require
in
or
the
N b
[east
from
h
[eveis
On
number
2 ne
the
expression
= .o.~
iS
the
root
favorable
-
I.
to
So,
store
keys
tO
an
it
are
he-Valued
buckets.
he,
That
a
called
an
item
presented.
search
digits
The
an
levels.
level
h
in
trie,
is
starting
possible
keys
in
at
h
sequences
sequences
m
sides
iS
the
load
<
[°gne
of
average
factor.
storage
- -
h
level
of
nodes
hence
device
number
The
of
average
above
yields
records
number
in
of
the
accesses
to
is
(oN) m
!ns@~!i_eon_A!ge£/Ibm insertions
section
locate
of
C~(e,m)
5°3°3°
to
is
level
by
presented.
h ne
, where
~
wi[[
N
done
been
retrieve
device
conclusion
digits
nMes
is
not
to
storage
%0
or
are
has
references
Level
favorebie
the
of
the
direct
~rom
each
symbol
device
item
[eve[
At
N
N bsckets b
I,
b
that
for
from
a
there
h
Define
an
Suppose
a h Taking
trie
search
Assume
aiphabefo
access
characters
levels
randomly
on
of
a direct
£ound.
depends
storage
number
proceeds
item
with
access
average
stored
conclusion
and
direct an
search
the
item
a
section
a
say,
on
5.2.3,
The
in key
the
tcie
is
stored
are in
made the
using key
algorithm
vector
C.
B'" The
of
algorithm
75
is
executed
starting
termination the
file
indicates it
5.3°4°
is
number
of
into
the
[s
found,
The
&
is a
retuen
the
the
file.
first
find
of
When
found the
initiating
a
were
after
key
is
not
in
key
is
needed
a
retrieval.
exactly
when
the
one key
The
more
was
than
inserted
an
+
of
numbe~ insertion
the
to
accesses opera%ion
direct
is
I.
Alsorithm
B''"
executed
not
average
during
argument
deletion of
of key
section is
stored
starting
indicatce found
at is
after
5,2,5 in
the
Js the
first
inserted
key
for
deletions
vector
step.
and
termination
used
the
C,
When
indicates
the
The
the
a%~ortthm
in
key
is
terminates.
key
is
not
In
file.
5.3°6.
De[etlon &i[
the
to
6R(~,b)
=
ALgorithm
algorithm
by
that
the
device
DeLetion
trie.
in
return
A
trie.
6rl~,b)
the
made
comparisons
storage
5.3.5.
is
needed
Therefore. access
key
step,
Time
insertion
of
first
inserted.
comparisons
number
the
the
insertion An
the
at
trle
from
is
the
a
trie The
device
Time
items
are
fomest, generate average
deleted
it
can
by
be
another number
first
represente~ mandom
of
initiating by
a
a
search,
tree°
Any
Since detetlons
tree.
accesses
to
the
direct
access
storage
is
Since
a
trie
can
be
represented
as
a
forest
of
trees
it
can
76
be
represented
tree.
by
It
foLLows
adequate
for
the
trie
is
the
processing
tree.
that
much
a
more of
element
n
position.
trie
is
the
by
~t
x
A data on
a
direct tree
a
access
direct
easier
to
using
presented
by
after
first
For
calculated
results
new
binary
search
and
Uzgatis
stored
required tree,
is to
but
it
store
makes
e£ement$ of
nodes
possible elements
in used
required
to
to
store
trees
been
used
each in
store
the
as
been
device.
It
trees
each in
the
new
[50].
Muntz
and
path
requires
method.
results
and
is
calculate to
simulation
show
tries
bow
an
trees
on
simwte
and
number
o£
structures.
to
method
and
search
structure
B~-tree
is
to
to
close
the
the
modified
data
and
Uzga[is
reason
tree
This
introduced
used
of
has
be
can
B-tree
pages not
defined
the
the
a
simulation
UzgaLls new
in
results Figure
compares
are
5.12 them
assumed
page
presented
that
reference. this
tower
iLLustrates to
results
those
of
than
the
the Muntz
simulations. The
trie
has
search
this
the
tree
.
the
and
is
for
number
of
device.
binary
two
storage
of
average
algorithm
than
Muntz
of
binary
binary
I
storage
assumption
monograph.
I
a
a
easy.
number
[66]
approximation
accesses
This
-
searchin8
The
data
number
by
storing
required
the
storage
manage
the
x
represented
amount
(average)
structure
access
internal
that
average
xh
be for
The
Sussenguth
= n
can
Length
and
The
given
trle°
variable-
be
tree
structure
than
position
each
A our
storing
Let key
a
on
average
a
direct
number
access
of
accesses
~evice
have
to
Locate
been
a
calcu%ated
symbo~
for
sequence.
a
77
The
performance
measures
efficient.
Any
constraints
of
efficiency the
a
this
trie
method
reasonable chapter the
and
stored
to
as
store
average tot
modified
the
access
a
Scidmore
[62
tinked
the
gives and
on
times. more
Weinberg
a
that
the
by
the
is user
and
the
device.
I catcuLated in
direct The
method
controt[ed
structure
fist
a
is storage
Weinberg
search trie
show
desired
direct
Scidmore for
caLcutated
method
realistic method.
the
mean
main
memory.
access
storage
introduced average
search Modifying
device in
search
time
gives
this time
than
78
12
o
N
=
2048
e,
=
l
6.5
f3
Simulation results
$
~
~.
Z6e
Bucket Size Figure 5.12.
Comparison of Sequential Allocation and Simulation Results
$12
CHAPTER
in is
normally
various
a
retrieval,
specified
records.
addresses
on
records
the
which
the
key
same
key A
an key
word,
word
is
IncLuded
consists
containing
of
the
art
included the
number
direct
timlt,
that
desired
identify
of
the
identifying
which
to
the
identifies
provide
the
structures,
to
is
those
key.
used
these
of
the
necessary
pointers
next
access In
the as
each
~ist.
key
lot
each
different
with
record
word
this
which
exhibiting
the
addresses
of
storage
After
is
the
direct the
the
device
is
key
word
pertaining
the
access
~Ists
List
to
Ki,
that
beginning
arrangement,
on
words.
available
Lists
key
In
search
beginning
specified
the
access
consists
given
record
directory
the
identified,
In
a
a
contains
corresponding
identify
records
that
used.
grocess
words
devicej
are In
which
used°
the
the
by
given
giving
of
to
are
key
storage
records. a
of
to
operation
structures
of
words
address
device
List
records
function
access
directory,
indicator
0¢
characterized
between
each
a
set
retrieval
direct
are
associations
as The
Linked
link
a
6
of
storage records
addresses
searched
to
for
key
search
are identlfly
lists. many
Lists
may
exist
each
word
as
8O
there in
are
this
the
records
case
associated
is
product
of
i)
and
the
In
our
case,
number
of
key
words,
number
of
records
is
in
[inked
the to
A associated
the
main
each
~rrangement
separates
at[
records
within
key
word
[ength
word.
entries
in
and
the
entries
of
in
each
Whenever
exceeds
b.
the
length the
directory
number
of
the
is
of
list equals
records
per
equals
equal
length
bucket
the
directory
fist
the
of
to
the
each
list
capacity,
a
new
the
of
bucket
bucket,
with key)
a
The
pointers is
used
the
stored
given
set
to
to
the
store
records are
list the
of
records
keys.
into
sets
identified
by
This in
a
such
common
a
way
key
word
that or
set.
Every record
the
file
key.
words
ot
current
with
key
of
number
key
directory,
that
number of
and
per
the
the
number
word.
records
with
is
record
characterized
represented
by
a
corresponding
to
schematlca~Ly
the
node
the
corresponds by that
several
structure
to
several is
at
of
node
directory the
key
one
three
key
intersection
words.
Figure
records.
on
a
list,
words, of
6.1
the
[f the
a
record
list
illustrates
is
81
FiLe
Directory 002
K1
002
K1
004
K2
003
K9
010
K3
004
K2
000
K1
000
K3
000
FiLe
Organization.
003
004
Figure
Algorithm
C"
6.1.
(l~etrieval
in for
section the
operators
4,2. I for
[inear
using
with
chaining The
Linked
linear separate
and
probing
the
directory
and
Lists.
variables
processing
prohlnS
List
have
) the
record
search
]6-
same
list.
meaning
The
node
as
str~ture
is
[!!!!ii!!!!] I N F O [ i ] is
LINK [Find
the
[Process
key in Execute
is
the a
record
pointer
directory. ] algorithm A i in
key, to
the
List
the
i--LINK( i ). the list of i--READ( i ).
records. i ~ f ( i ).
]
section
4.4.1.
of
those
records.
82
DO [Output
record.
]
K-[NFO[ i ] . [Advance
to
the IF
next
record.
(TAG(
i ) =
THEN
]
1 ) DO
I~LINK(1),
i~f( i ) ELSE ENDIF [Check
for
the
Jill( L I N K ( i ) )
o of
end
IF
I~READ(i).
ENDDO.
( i
the
=
0 )
tist.
]
THEN
STCP.
END I F . ENDDO.
that
Assume The
contribution
given
in
the
to
the
totat
CR(~.b)
=
search
retrievat
is
time
done for
by the
Linear
Probing.
directory
search
Is
4.4.1
section
directory
1
*
tb(o()
*
t2b(¢)
*
t3b(a{)
*
--*
,
where
(k tnb(~)
A£ter
a
retrieve
key
word
the
than nodes
the
directory
that
the
is
tocated
record
one
for
k>nb
-
nb)P(k)
.
~nb
the
of
address
the
List
is
one
bucket.
used
to
record.
Each more
=
may
access
to
represented is
records
the
by
a
home
are
occupy
more
direct
tong
access
records.
in
the
storage The
associated
address
ptaced
than
flte
Therefore,
device
address
with
of
the
according
is the
tlst. to
a
required tlst
in
Assume untfot~n
random
distribution.
The each
key
List
defined
Lists
word.
(pointed
The in
CR(~.b)
to
average
section
=
I
number
4°2°2
* _! 2m
from
~ k)b
of
the
directory)
accesses
in
are a
is
(k2-2kb÷k*bZ--b)L~
-
separate
search
of
the
tot
83
The storage
average
number
white
searchin~
device
CR(0c,b)
!n~er~!en_A!aeai~m
ALgorithm
C'"
(Insertion
The
with
in
section
operators
4.2.3
structure
for
[Insert
the
for
the
Linked
List
a
probe
direct
file
probing
Lists.
varLabtes
inserting
the
access
is
.
Linear
separate
and
linear
to
a
using
chaining
accesses
+ C R (~.b)
= CR(~,b)
6.1.3.
of
)
have
record
in
directory
and
the a
same
List.
search
meaning The
node
is
I!!!!i[!!!!l
key
into
Execute
the
directory.]
algorithm
A "p
in
section
4o4o3t
DO [Read
the
remove
file
containing
key°
the
the
records
and
]
K~INFO(
f ( ( READ( P ) ) )
IF
of
( end
records)
THEN
DO
WRITE(f-I(o)), STOP
ENDDO.
ENDIF. [Compare
the
key
to
the
IF
(K
=
THEN [The
keys
are
the
record
key.]
K~ ) DO
same.]
IF
(HEAD(i)
THEN
~ DO
O) T A G ( O )~I) T A G ( P )~-1
ENDDOo
ELSE
N O D E ( H E A D ( i ) )~ NODE( HEAD( i } ) -
ENDIFo
LINK(Q)~P, WRITE(
f - 1 ( 0 ) ),
O~f( P ) ENDDO.
ENDIFo ENDDOo
I.
as
those
84
6, 1 . 4 ,
_Insertion A
key a
word
list
key
is is
word
search
is
not
the
in
created is
in
The device
~_~e
in
an
made
records
average
directory
number
insertion
it
= CR(c~,b)
actios
of
accesses
Algorithm
C''"
(Deletion
using
(k
[Find
the
key
deletion Execute 6= 1 , 6 ,
is
not
it
is
pointer
to
the The
device
in
is
-
the
directory
key
word.
if
the
to
the
direct
access
the
storage
P(k),
probing
and
separate and
Lists)
insert
a
in
section
•.4,5,
for
key
temminates,
set
to
number
by
a
the When
word,
the
detetion
key
if
the
word
is
indicator
and
key
= CR(~,b)
the
zero, of
requirements
the
[inked
The
total
~
accesses
to
the
direct
~tccess
~ kYb
(k
include
-
b)
storage
space
P(k).
for
the
directory
list. space
word
£ocated,
iS
for
and
]
directory
is
average
Space
the
taken,
b)
with
searched
process
fist
CD(~,b}
space
in
the
if
._T_im_e
the
replaced
inserted
directory
A''"
algorithm
directory
located
the
indicator.
_Deletion The
in
word,
is
tinear
chaining C'''I,
key
is
* X k)b
_De_le tion_Ala_o_r_i_%bm_
the
with
no
operation
6 . I. 5 .
is
for
associated
directory
Ci(~,b)
the
directory,
for
the
o£
requirement
fop
the
directory
is
and
85
Wp
The
total
=
o
bd
average
space
we
+ d
required
by
~he
linked
Lists
is
®
=
The by
wf,
bd
total
files
is
algorithms
only the
for
and
double
for
stored
on
considered
linked
List
files,
denoted
to
using
Linear
storage the
6.2.1.
a
the
number
request.
Probing.
The
as
files
list.
we
than
are
as
The
faster
But,
!
e
for
X
~
bd
not
double
[inked
internal
those
search
for
linked with
concerned
the ~
bd
to
~
E
directory
major
factor
to and
file
access
directory
accesses
list
its
direct the
inserting,
_
and The
the
that
of
linked ~
the
storage is
accessed
direct
deleting
must
access information
organization.
~
required
lists
required
=
_
device.
accesses
number
file
for
the
directory
is
o
fi~e
storage
g
The
Assume
space
total
=
large.
retrieving,
that
The
~dl
are
storage
of
a
The
average
very
access
white
P
the
lists
lists.
are
direct
device
~
storing
traversing
linked
files
process
same
of
in
speeds.
is
device
advantage
linked
search Our
is
b)P(k)o
required
real
speed
circular
internal
be
space
-
~toxlng_~es~!~_~in~gg_Li~_Ei_!~ The
list
(k
is
6.2.
list
Z k)b
* d
are for
~ k)b
(k
stored
as
the
file
-
b)P(k).
double
list
is
linked
lists.
The
86 There£ore,
List
files,
denoted
wit The aS
the
that
for
pointers
in
by wtt ÷
~p total
the
wd[
required
for
double
Linked
this
file
is
List
file
* space
list
word.
space
is
average
linked
each
total
required
files.
Hence.
A
this
for
double
file
Linked
contain
Less
the
space
to
same has
two
store
keys.
S!e=iss_R!ns_L!s!_Fi!~
6.3.
This
~LINK
directions°
directory. storage
The device The
Linked
stmucture
List
Assume
average is
the
storage
structure.
uses
circular
that
Linear
number same
as
of that
requirement
[inking
Probing
accesses for is
the
is
to
the
in
both
used
the in
LLINK
the
the
direct
access
[inked
List
structure.
same
as
that
for
and
the
double
7
CHAP~E~
RECOED
data
~se
The
In
many
to
reflect
importance
with
the
store
same
the
storage
time
characteristics
is
a
a
derived
fife the
Length
increasing
the
directory
entries
there
analysis to
used
a
characterize
using
these
distribution Zipf'S
law.
direct
organization
are
use
functions a
of
chain
size
to
to o2
and
characterize the
data
combinations
qualitative
rank--
of
key
is
associated necessary
use
to
of
the device
and
organization, an
chained
and
in
~xe~!e~_~fiL~ organization
by
correspondingly
each
by
key
that data
ALl the
base
for
the
the
base.
a
usage.
one
access
data
for
characterized
is the
file
one
include
are
direct
of
from to
base
keys
performance
each
data
of
records.
access
derived
records
function the
and
of
the
records
when
it
the
influence
measures
decreasing
as
on
many
on
the
ctear
maximizes
process
the
and
conditions,
records to
usage
and
that
the
studied
and
be
record these
required
organize
becomes
structure by
[38]
to
characteristics
one
Under in
desired
organizations
occupied
the
is base
than
more
Lowe
which
these
record.
space
study,
it
data
records
minimizes
this
cases,
of
with
associated
PROCESS/I~[~_U~N~G/~!E~D_E~_~
word
key base
word. and
measures assumption
probability
as
relationship
are of
many The
a
function developed uniform Called
88
A useful p(j,0
distribution
)
=
presented
__t ........ jI-OH(N,O)
in
[.34]
Knuth
is
,
where,
H(N,0)
When
0
ffi ~ o g _ ~ S Q tog .20
When
0
=
p(j=O
) is
Zipfian
~71].
We
Zipf
1.
=
1 -(1-0)
,
it
approximates
is
a
p(j,1)
p(j,O
or
*
2 -(1-0)
uniform
it
~
the
...
÷
80-20
N -(
Zipf's
Law.
}
0
=
.
rule.
distribution.
obeys
1-9
For
introduced
0,
by
h~ve ) = N
J~ X=l
For
N
1 k
Large N k=!
where
T
is
EuterPs T
The
form
k
of
N )
and
probability
is
Zipf
=
I j(Ln'N
presented
inverted
approximately
approximated
by
.
+ T)
I00o
Summaries
time,
is
= 0°5772°
p(j,O)
for
constant
and
on
organization
in
[10~
20~
In
this
monograph
memory fi~es.
30.
57,
data
as
inverted
files
are
60]o the
utilization
are
An
file
inverted
of
Load
time,
retrieval
investigated is
i~iustrated
toe
time, divert in
figure
update access T.l.
89
[!I~[!!!I!!!Ii!!I!!]ii!!Iiiiii
a.
Inverted
List
Structure
[i!!i!ii] [!!ii!iil] [!!11!2] [!!!ii!i11 b,
[!!!ii!i] [!!ii!iii] [!! ii!iiii!iii!iii] I!!!ili!iii!il]
Main F i ~ e
Figure
7.1.
Inverted
File
Structure.
90
7.1.
Gene__r_ation_O_¢ In
analysis
of
this an
section
to
the
the
of
inverted
file,
file
consists
file
The time.
This
inverted
called
requires
a
the
on
expensive
time
spent
usin~
rite
and
to
Load
an
of
In
this
computer
and
and
related
is
the
the
update items.
catted
fire
the
to
from
deleting
file
if
_to~_d
at,
inverting
time. deleted
and
the
inserted
information
records
updating
are
items
FiLe
inserting
process
GeneraLLy,
retrieving
files
is
that
factors
inverting
information
deietlng
basic
inverted
Large
Any
factors
inserting
For
amount
ana~yZedo
requirements.
actually
tlme
demand.
Loading,
space
Is
those
The
involving
large to
are
into
is
changed
inverted
is
file
an
operation. Storage
when
file.
availabie.
time
file
inciude
file
storage
_ui2da__t~_ti_me.
one-by-one
are
involves
not
The
must the
required
is
file.
of
opera%J[ons
process
From
the
use
and
inverted
file
~iles
time
copy
operation
basic
update
of
the
inverted
related use
£nx_ea_ted__F l l e
an the
space
is
inverted
a
critica[ This
file.
inverted
file
must
be
is
factor
that
criticaL
kept
on
the
must
be
because direct
considered
the
original
access
storage
device. Algorithm inverting direct
a
file
access
ALgorithm
C
The
the
first
pointer
is
storage
(
item H points
FiLe
to of
file
and
to
quantify
the
inverted
the
work
fi~e
done
stored
while on
a
device.
inverted L
presented
the
with
Define of
C
be a te
a
) [ink
particular the
first
variable
whose
content
is
the
address
record
in
the
file
to
be
inverted.
record
of
the
file
to
be
inverted.
91
Define
READ H
buffer
s
record
to
and
s
as
an
increments
he
H
in
the
of file
aLLocated of
to
stack
the
algorithm
the
direct
r.
0
z,
to
number
and
k
M
is
of
way
the
that
record
at
H points
file
any
item.
Ij.
k.
~
to
into
the
next
every The
aLLowed
in
controlled
a
and by
a
of
every
stack
the
item of
popping
pointers°
its
the
When
structure
are
on
V°
thls
a[gorlthm
are
operation
position variable
buffer.
the
by
is
count
on
is
stack
the
a
inverted
AVAIL
to in
coLLect
AVAIL
the
Define
zero.
is
file
used
of
to
of
pointed
variables
to
R ~
inverted
device
and
used
The
management the
variable
is
operation
lnitlatization
pointers
one.
the in
buffers.
Before
written
the
on
value
the
which a
buffer
releasing w
pointers,
of
is
of
one
first
The
storage
is
an
upper
variables The
c,
i,
j,
variable
of t
algorithm.
wilt
a
[ink
are
direct
A w
three
value
vector
updated
buffer
access
and
WRITE.
The
any
direct P
buffers.
algorithm.
a
varlab[e
and
number
When
associated
READ
the
qj,
indices
control
link
reads
bounds
bound
on
c,
i,
j,
on
these
are:
where a
final
storage
the
of
are
indices
the
wj,
file.
The
auxitiary
M.
bv
a
g{j)
retrieval
slots°
access
L,
the
the
terminates,
mean
defined
in
aLLow
and
The
k,
such
function
items
record
the
in
that
read.
A frequency occurrence
operation
its
cause storage
switch
indicates
the
w
buffer
device
vector
qj
access
Storage
are
and
used
the
associated
associated the
r
to
device
is
is
used
state
of
iS
w
set
checked°
Location
to
be
w
to
zero.
is
set
control
addresses
as the
to An
A
~he
during
a
92
The item
in
the
I~EM
bucket.
incremented
to
the
item.
current A
and
and
9otnter
in
then
the
the a
figure
the
position
Ij,
indicates
kth
location
insertion data
the
k
the
buffer
the
under
index
name
name
k must
tocates
be
the
character
item
buffer
bu£fer.
in
To
incremented
main
insert
first.
made.
is
structure
used
pointer
in
to item
next
atgorlthm
C
pointers master
to file
is
illustrated
pointer next of
name
Structure
V
\
-[
EIIII!] Figure
:[ 7.2.
2] Inverted
Fi~e.
to record
current
item
Node
of
names
7.2.
a.
next
is
tast
store
item
item
it
the
to
used
jth
the
within name
is
that
item.
bucket
Ij,
The
item,
property
the
in
cat~ed
k
the
Locating
area
given
The
has
After
buffer
pointers.
memory
function
name
in
a
93
el.
[ lnitiatization,
C2°
[Read £~I,
C3.
[ H a s t h e L a s t recox'd b e e n IF ( H - O) THEN DO j~1, ENDIF. [L~st record has not been
I.j,k_
C4.
~
r~O,
O,
(D
file
=
O)
~
wj
O,
qj
~
0,
D~V.
a record of c--i, L~H,
inverted IF
] j~-l,
t h e f i l e to b e i n v e r t e d . READ H s, z--ITEM(s C ).
]
processed?] g o to C 1 0 E N D D O . Is
processed.
there
an
:ecord?]
THEN
go
to
C13.
ENDIF.
qj --D, C5.
[ Is t h e IF
( I j,
READ
D
item
in
1
~
z)
Ij. the
buffer?]
THEN
go
to
C15.
ENDIF.
C6,
C7.
[The item updated?]
[Is IF
C8.
in t h e b u f f e r . (wj = 0 ) THEN
IF
ENDIF. b u f f e r fO~r
the +
(k
is
1
)
ENDIF° [The buffer
[) is
g(Ij.2)-g(Ij. I j, 3
C9.
-
k
2)
+ 1,
this
not
to
full°
"" I . i--c,
the
buffer
been
w 3 ~1.
item
go
THEN
Has
fuLL
7 ] k--Ij,3,
C14.
Uodate
buffer. ]
I j , , k ÷ 1 "" L
+ I,
z~ITEM(Sc)o
[End of J bu~fer?] IF ( c > t ) THEN DO j--l,
r~2,
go
to
CI0
ENDDO.
on
direct
access
ENDI F.
CIO,
go to C6, [Write a[[ updated storage device. ] IF
(wj
buffers
ffi 1 )
THEN
DO W R I T E
qj
I j,
w~
~0
ENDDOo
ENDIF°
j-d
ell.
C12.
+
I.
[Have aii buffers IF ( j ) M) THEN ENDIF. go to C10. [Terminate if a[]. IF
(r
= 2) THEN ELSE
been written?] go to C 1 2 .
~ecords
have
been
inverted.]
go to C 1 . IF ( r = 0 ) THEN
STOP.
ENDIF. END[F.
C13.
[Atlocate R ~- A V A I L ,
a new
buffel"
for
thls
item.]
94
IF
(r
1)
=
TREN
DO I j _ l ,
4 -- R,
WRITE q j - 1
Ij-1
ENDDO. ENDIF.
qj
j~l,
Ij,3
"
IF
(V
~
R.
4. =
Ij, 1 ~
i--O.
z,
Ij, 2 * O ,
r--O.
O)
THEN
DO
D~R,
V~D
ENDDO.
ENDIF.
wj C14.
-
1,
go
[Process
to
position.] (P
IF
C5.
chain
for
this
item
to
find
an
empty
P-Ij,k.l,
=
O)
THEN
R ~ AVAIL,
DO
[j,3 ENDDO. IF (wj
ELSE
~
R,
Ij,k~ I ~
WRITE q j
Ij,
6,
wj
k~4.
~
O,
go
to
qj
~
R,
C8
= I ) THEN
DO WRITE q j wj
~
Ij,
ENDDO0
0
ENDIF.
ENDIF. READ P C15.
[The
qj
[j,
item
in main IF (j ~
is
~ P,
not
in
j~j go
memory,] M) THEN
go
to
this
C7.
Buffer.
Check
air
buffers
÷ I, to C5.
ENDIF.
(wj_ 1 = I)
IF
THEN
DO WRITE q j - 1 wj_ 1 ~ 0
I3-1"
ENDDO.
ENDIE.
qj-I
"
D,
READ D
Ij_l,
I F ( D = O) THEN DO r ~ l , ENDIF. j~j - 1. go to C5.
When of
time
required
accessing. the
files
the to
Assume readiness
inverted ready that for
file the
the
go
exists,
direct
existence
accessing
at
to
C10
the
access of any
ENDDO.
load
time
storage
the time
the
device
inverted with
is
for
file
small
amount
implies
delays
that
95
are
negligibte.
required
to
Under
invert
Assume J
to
of
is
Each the
storage
%hat
size
of
of
space
J
one to
So
J.
To
the
to
the
direct
distinct So,
the
F
buffer
s
full
time
reads
total
=
a
spent
records of
always
of
time
that
time
the
fire
in until
in
J
an
with
information, exists
the
accessing
buffer
item-by-item
simpliclty,
J,
tength which
direct
direct
end
access
access
denoted
by
Aj,
is
Let
units
s
of
is
the
items
length
scan
of
basis
that the
full
of
time
A
information
used
item
for
a
Locate
of
are
each
s
to
fixed be
a.
the
items
teagth
one
buffer
and
in
unit.
is
n°
an
equal
buckets
d
algorithm
of load
0t := m . h
a
C
one.
item
accesses factor
nrobability
with
storage
nonadjacent number
are
access
the
totai
an
access
The
where
be
C
on
Assume
in
is
ffi a s F o
more
M
time
distributed
there
fi[eo
The
load
record-by-record
inverted
the
precise,
restrict
read
there
be
availab%e
is
Assume
for
s
J
record.
Assume.
A
the
file
randomly
are
one
as
scan
Therefore,
the
produces
Algorithm sequential
items
Assume
hold
device,
Aj
in
the
encountered.
READ
assumptions,
file.
The
Define
storage
the
inverted,
file
•. is
be
these
to
This for
in
s.
Every
ec~ua[s
the
assigning Of
capacity
device
is
of
b
items
forces
the
an
access ilumber
of of
rite V
That
each.
algorithm
inverted
C V
on
requires
writes.
tO
item
to
any
of
is, access
every a
write.
96
m
Let
X
be
= n~ d
the
random
P(X
This
is
the
=
pamticutar
To
the
we
a
x
Bt
=
x
The
waiting
x
1
Let
m k- E v e -- m
k
a
of
are
its
capacity,
of
the
with
bucket.
with
a to
assigned the
the The
item
other
name.
buckets• events
occur
events
less
counts
in
[0,
t ~
or
more
counts
in
[0,
t ].
St,
At ~
Bt
P(B t } =
1.
1
in
time.
or
*
a
are
items
continuous
Consider
to
associated
associated
number
in
m,
parameter
assigned
bucket
bucket mean
with
o
items to
Poisson
have
impiles
or
the
is
-
excess
first
t]o
=
=
process
Bt
=
time
more
Or(X)
Fx÷1(t)
=
=
~.
that
P(A t ) *
÷
in
counting
At
that
that
the
[0,
wF.
assigned
name to
At u
This
P(k)
quantify
interval
Then
=
items•
linked
=
variable
k)
Item
consider
N
probability KI[
buckets
and
for
counts P(X(t
=
x
+
in
) <
P(T(x*I)
1 counts [ O,
is
Less
than
or
equal
to
t,
t ].
x),
_( t )
Then Gt(x)
=
P(A t )
Gt(x)
*
Fx÷l(t)
and
Fx÷I(t)
=
P(Bt).
So • ~
1
(7.I
}
for
in
97
The
Poisson
X
k --m m e --~T-
k=O
with
case
+
t
1 F( x + 1 ~
=
m
m
j"
yietds
=
uXe-Udu
I.
O
But
x
p(k:,m)
+
E k=x + I
k=O
p(k;m)
=
I.
yields
This
p(k:m
)
1 F(x*I
k=x+l Let
the
Since
X
number
items
P(Z I
ffi k )
P(ZI
=
iS
=
b I )
Polsson
in
P(X
=
=
k)
P(Z 1
=
b 1 )
we
have
the
ith
= k)~
P(X
with
P(F.T. 1
(7.2)
From
of
mk
=
I
)
b I
=
e -m
k
:
is
number
an of
incompteie items
Gamma
in
the
Z i.
.,.j
O,
bI
....
b I
-
-
U
1
e-
d%t.
Thereforej
function.
bucket
the
k=O
m
e -m k~
÷
bI
O(m,Z
In
in
bucket
assigned
1 )
the
one to
=
and the
E(Z1
two
two fast
-I
f
ubl
u
e-
du.
0 F(b
Define
expected
is
mk
k =
1
0
bl-1
E(ZI)
1.
u
b~-I
f
F(b I )
This
(7.2)
m k e -m. --ST-
i
=
be
.
m.
m P(Z
O,
u
b I ).
>
= E k=b I
uXe_Ud
bucket
k
parameter
=
m 0
f )
I )
)o
bucket
for bucket
probtem,
i
= is
1, y,
2
let
h i
~espectivety. with
random
be
the
number
The variabte
of
number YL*
places
of
items
The
mean
98
number
of
items
assi@ned
P(X
_< b )
P(X
=
P(X*
=
b
to
=
y)
=
3,
..o
"
a
bucket
b)
P(X ~
=
=
in
P(Yt
b
+
this
=
y)
probtem
is
0),
=
P(Yi
b
=
=
y)~
where
y
=
I,
2,
and
--
X*
Z 1
=
k.
if
k
=
O,
Z 1
=
bl.
if
k
=
bl.
=
k)
-
I,
2,
b I
b I O(m,Z
I )
=
Yi*
...
+
I,
b 1
o..
®.
P(X
=
®
Z k=O
kP(X
+ b 1
k),
kffib I + I
b1-I O(m,Z
1 )
=
kP(X
Z k=l
=
k)
+
blrm(bll
r(
The
average
number
)
O(m,Yt
In
of
a
items
in
~(m'x*)
=
three
L
b I
*
b 2 )
P(X
=
b 1
+
b 2
=
+
Last
problem
P(X~
y)
)
b I
bucket
is
b.
-
bucket
P(X
the
•
=
we
b 1
ffi P ( X ~
*
=
have,
b2 ) =
b 1
P(Yt
b2
+
=
Y)
+
0),
=
P(Y~
=
Y),
where
y
The
average
ffi
I.
2,
number
3,
of
...
=
and
in
items
the
X*
-
b I
-
buckets
b 2
=
Yr.
are
bl+b2-1
O(m.Z
1
*
Z 2)
=
~ k=l
kP(X
=
k)
~ (b I
+
b2 ) ~ k=bl÷b
P(X=k), 2
blab2-1 O(m.Z __
The
1
÷
average
Z2 )
=
~ k ~1
number
kP(X
of
=
items
k)
+
in
(b 1
the
÷
b2 ) F
first
(b 1
__m_ F( b I
bucket
+
b2 )
+
b 2 )
-
has
not
changed.
99
Therefore,
the
average
O(m,Z2~ The
In
average
number
= O(=,Z I
number
Of
=
O{m,X
for
d
bucket
general,
a
-
items
z2~
-
items
O(m, yl)
of
in
-
in
last
bucket
=
O(m,b)
=
problem
we
number
of
buckets
algorithm
C
device.
to
This
kP(X
bd-I ~
k)
+
bd
~ k=bd
kP(X = k )
*
bd
Fm(bd)
=
is
g
accesses
to
number
of
find
the
accesses
the items
pointed
inverted
item
to
name
,
j
name
÷
scan
list
requires,
store
N(2
by
associated
is
Algorithm
name
V.
file,
determination Item
k),
.
distributed,
sequential
item
item
to
=
=
on
=
I,
the
a
entire
2_d O ( m , b ) nF
the
+
used
in
direct
access
storage
nF,
file
~oad.
collection
A
average
average,
2 .....
during
the
on
is
the
The
of
average
items
is
) g
"
EStrie_x~l_A_!a_oX!_t b_m An
file
an
(_l_--*_!) 2
=
identically
A
length
Lt(m,b}
7 . 3.
are
_d. nF
locate
A
p(X
r( b d )
keys
scan
is
=
~ k=I
the
is
have
k=[
Since
bucket
• b2)°
b d - 1
O(m,b)
second
o(=.z~.
the
~ ) .. ( b I
the
with
in
Aigorlthm
After
results
not
located
the
in
a
D
is
name
searched
determines
favorable
item
an
s
for
if
an
determination are
alsorithm
in
item
is
returned.
An
termination,
an
inverted
name
made,
(
Define
Retrieval a
function
From
An OUTPUT
Inverted
File
s
output
%o
indicating
) the
the
unfavorable
found.
D
is
information
the
in
100
pointed
by
to
DI.
Ij, i
in
s.
[Initialization.
D2°
[Read
D3.
Its
an
this
[F (D ENDIF, D4.
[Is
file
name
name
Pecord?]
Last THEN
~
DO
item
z)
PUT
z~ITEM(si).
i~O,
inverted
the
{[jjl
D~V,
the
ffi 0 )
this
IF
] j~l,
~ecord.
"not
] READ
found",
D
[j.
STOP
ENDDO.
name?]
THEN
go
D2,
to
ENDIF® DS°
[The
item
D6°
[Have
aLL
I F (i ENDIF.
=
DT.
[ALL Read the
0)
IF
been
found°]
name
pointers
go
name s,
i~i
-
another
(Ij,k÷ 1
= 0)
been
P'[j,i"
1,
go
bucket THEN
to
D6,
of
item
PUT
DO
READ
P
Dg.
Assume aLL
items
whe re The
k
in
an
tk
=
name
pointers?]
go
+ k
number List
inverted
file
This
name to
of
pointers.]
DSo
probes
required
to
address
is
- b 2
directory to
Leads
List
in
this
file
is
accessed
record
item
ENDDO°
> b.
Inverted
length.
D
the
that
k
of Ij2
bucket READ
D~Ij,k÷l,
s,
"finished". STOP
ENDIF. [Get another
proeessed~]
have not been processed. information pointed to by
pointer.]
there
i~k.
ko[j,3,
"to D S .
name pointers to obtain the
item
[ Is
has item
THEN
item file
OUTPUT DS.
name the
the
section. is
addressed. addressed
is
mean
number
items
of
the
the
same
the as
per
list.
of
This
to
assumption
of
the
probes yields
reduce
about
number
average
value
number
organized
average
the
expected mean
he
optimistic
Assume
The
item
should
of
number number pep
the
times of
List
the
inverted the
probes
of
List
probes
divided
main pep per by
the
101
~R(~,b)
= Z(
N ~ k=O N
tkP(k) kP( k )
k=O The
average
number
accesses
of
including
the
directory
search
is
N (k m
For
Zipf's
taw
-
b)P(k)
"~ A g °
k) b
and
the
unifoem
distribution
~e
have
N tkP(k~ 2(
The Uniforms lt[ustrated
or
assumption
Zipf in
--k--'=O N X~ k p ( k ) k=O
in figure
that
the
for
)
keys is
A
g
* Ag
0 )
the
buckets
7.3
e )
are
essentiatLy = 0.
distributed the
Poisson, same.
This
is
102
100 80 60 50 40 30 20 ~D
0
0 0 C~
10 8 6 Uniform
Poisson
Zipf
I
I I
Z
5
I 10
I 20
I 50
Bucket Size Figure 7.3.
Retrieval Inverted File Distributions Load Factor
~ = 1
100
O3
Insertion
7.5.
Assume file
A ! ~ _ q r i_thm that
J.
In
algorithm
appended
to
the
I~-V.
r~O.
perform
c--i.
the
7. e .
item
name
inserted
initialize
to
be
Z~ITEM(
H~0,
Start
required
to
to
wj ~0,
inverted,
s c ),
L
is
first
point
qj
to
~0,
algorithm
C
appended the
to
record
M~I,
at
step
C4
to
insertion.
X_n_se_r t i o n ~ ! i m _ e
average
access
number
Ci(m.b)
Cteariy,
is
C
file
and
one The
any
the
binary.
is of
=
accesses
an
2 + 2d O l i n , b ) nF
insertion
In
in
time
wilt
append
the
new
insertion
item
to
file
J.
is
• Ag.
be
tess
the
if
directory
search
name
the
case
this
Ag = t o g 2 ( N ) . 7.7.
_Det_~e¢_~o__n_AA!gflKi_t_h_m A~gorithm
inverted
an i t e m ALgorithm
El.
fire.
Define
pointer E
E
(
is
used
a
to
delete
function
an
BLANK
item
that
from
replaces
the
content
by b l a n k s . DeLeting
From
[ Initiatizatlon.
An
File
Inverted
] j~l,
D~V,
)
i~O,
T~D,
z~ITEM( s i ). E2.
[~ead
E3.
[Is
E4°
an this
inverted the
THEN ELSE ES. E6.
Last
IF (D = O) THEN ENDIFo [Is this the item IF ( I j , I # z)
ENDIF. [The item [Have IF (i
fi~e
name
name
record?]
DO PUT " f l o t
name
] U~D,
found",
READ D
STOP ENDDO.
name?]
D O U--T, S~U.
all item = 0)
record.
has name
go
been
to
E2
ENDDO.
found.]
pointers
k~Ij,3,
been
i~k.
processed?]
Ij.
of
104
THEN
DO A V A I L
~
S,
go
to
E8
ENDDO.
ENDIF. EF°
[A~t
item
name
Rea~
flte
to
the
item
BLANK
ES.
[ IS IF
pointers
obtain
name
s,
WRITE
another =
not
been
information
pointer.]
there ( Ij,k. 1
have the
P--Ij,i.
[j,i
s.
i-i
bucket
of
processed. pointed
-
item
%o
by
READ
P
s,
1,
go
%o
name
polnters?]
E6).
0 }
THEN
IF
(D
= 0 ) THEN
DO
S--U,
READ
s--O,
WRITE
PUT
S
s, U
s,
"finished"
ENDDO.
ENDIF. ELSE
DO
S~T,
READ
WRITE
T
S
s,
s4--D ,
s,
PUT
"finished"
item
name
pointers.]
Ij.
~o
ENDDO. ENDIF. [Get another
E9.
E--I~,k+l,
The
bucket S~E,
~verage
of
READ
number
CD(m,b)
=
I
Let
total
E
o~
accesses
÷ A
+ _2_d O ( m , b } ~F
to
in
ES.
the
deletion
process
is
.
71 9~
the
entire
way
that
and
the
the
data
b~se
every rank If
numbered
j
A bucket,
in
record. bucket
is
bucket
unused
jth
item
ca~Led
is
the
case,
~
more of
g
the
name
is
o
wasted.
distinct
inverted than
placing When
to
item
unique
times
of at[
the
a
used
characterize
names
number
in
such
a
I ~
j ~
~,
j.
number
by
items
by
characterizing
of
process
distinct
identified
total
the
characterized
which
of
Number
is
in
record
The
~°
name
is
used
are
g( j ) i t e m s
the
g(j)
is
be
item of
number
jth file
one mope records
that
the
items
item
name,
may
bucket than are
extend is
one
the
in
packed
the
over
needed short
item
record the
file,
more to
name then
than
store in
portion
one
the one of
the
105
Define
to
required
inverted
n
store
as
g( j ).
Let
Ss
be
number
item.
one
G nE j=l
files,
the
the
units
minimum
The
tots[
including
ot
memory
wasted
of
direct
memory
required
memory.
storage
requirement
for
A
access
storage
bucket
is
of
the
of
capacity
b
yields
Ss(n.h)
where
~gij!3ts T b |
7. 1 0,
chain This entries
the
However,
inverted
increased as
main
directory.
the
~ j=l
[g[~7
smartest
organization
The from
[
}
integer
+ nF.
greater
than
or
equal
to
g~L,J~ b
essentiaLLy
by
using
chain
to
one
*
Sum~aEX
item. many
nb
the
The the
=
there
search ~ite
The other
average
inverted
accession
List
one.
interesting monograph.
An
the
Length
the
directory
are
items is
the
is
entire
analysis
is
the
class occurs.
include, by
etiminatin~
ot
the
Linear
tot
that
by
with a
~re
M in
of
to
equal
all
he
used
key~
as
key. all
search
in
each
in
pointers the
derivations. by
defining
A
as
g
organization.
iS
directory
develo~
each
may
consistent This
analysis, cases
most
search
files° in
shortened
for
ot
characterized
organizations
time
generated
size
performing
Length
this
than
with
directory
updating
interesting
been
directory
Update
Many
has
time and
search
In
file
our
tedious
task
maintained
algorithm
when buffer These
knowledge
M is
C some
a been
set
not
order. to
value
problems are
the
specific
positive
management problems
because in
has
about
one. greater
with
analyzed
in
this
8
CHAPTER
~MEA~!~N__QE_METHOD~
Consider records,
I000
summarize invotved object the
words
few
the
access
choice
to
the
generate
an
a
data
revetant data
imwortance,
with is
storage
device
during
used toad
various
various point
in
where
the
detaits
of
the
per
very
search
speed
migtion record,
difficutt
to
"fradeoffs"
o£
n u m b e r o~
to
number
structures
method
a
I0
method.
The
searching
and
accesses
to
the
search.
the
one
to
average
factor,
of
and
of
keywords is
respect
a
15 it
comparisons
combinations
of
consists
bases,
the
data
that
structure
space,
are
base
average
storage
for
and
display
of
accesses,
search
search
methods
should
be
the and
methods. are
also
discontinued
the
The presented and
another
used. The
list.
data
fargo
aft of
between
size of
very
words
primary
effects
method
with
a
retationsh~ps
find
each,
in
Graphs
bucket
taege
comparing
requisite
direct
very
In
in of
a
Atl a
parameters
method
names
comparison Summary
of
are are
summarized defined
in
and terms
placed of
in
an
attribute
meaningful
criterion, parameters
in
the
attribute
list
ape:
symbols
to
107
I.
N
-
number
be
of
uniquely
Identified
to
stored.
2.
d
-
number
o~
3.
b
-
bucket
size
4.
bd
-
number
of
5.
~
-
primary
The
operation
1.
R
-
retrieval.
2.
I
-
insertion.
3.
D
-
deletion.
The
name
I.
CS
-
chaining
with
separate
2.
CC
-
chaining
lith
coalescing
3.
LP
-
linear
probing,
~.
BS
-
binary
search
5.
T
-
trle.
5.
IF
-
inverted
7.
LL
-
linked
List.
8.
DL
-
double
[inked
9.
RL
-
rin~
The
distribution
1.
records
buckets
the
primary
storage
area.
the
primary
storage
RPeR.
words~
in
records
storage
list
list
in
in
loading
factor.
is:
is:
fileo
Poisson
2.
e
-
80-20
3.
z
-
Zipf's
4.
~
-
Uniform
The
result
gist
LiSt.
List.
List
-
trees.
rule
Law
is:
is
Lists.
lists.
108
i.
c~
-- a v e r a g e
an
is
°
2
rp
4°
p
A comparison
=
V
(m
-
of
methods
F(name
tlst
exampte
of
separate
fists
I.
8.2.
a
section
7.2
number
of
the
as
percentase
-
utilization
defined
comparison and
of
the
with
where
operation
the
8
Listo
overflow°
of
primary
a~ea.
as
tist
chaining
operation
List
etements). retrieval
time
coalescing
Lists
of
chaining
with
is
average
entire
toad
data
Assume
time
time
for
the
inverted
toad
time
for
binary
fire
is
defined
in
incurred base.
there
while
Insertion
are
N
search
buitding time
distinct
the is
keys
trees the
tree
defined
to
be
is
in
the
totat
structure
section
toaded°
5o2.4
The
is
Lt(~.b)
The
Lead
Lt(~,b).
insertions
CI(~,b)o
total
-
attribute
average
The
~s
mean o v e z ' f T L o w ~
accesses,
Le~g_v_!m~ The
fop
is
of
element/distribution,
element, An
)
~
=
element
-
~
3.
of
number
trle
= NC[(~,b). is
loaded
by
an
insertiOn
operation.
Insertion
109
time
for
the
Load
time
trio
for
N
is
defined
distinct
keys
~ t ~ b )oNe1( ~ . b Loading
total
average
Ltlu. b)
as
CI(a,b).
total
The
is
files
time
=
5.3.4
).
Linked
Load
in
for
N
NICRI~.b)
requires
a
distinct
*
directory
keys
C R
(u.bl)-
to
be
The
search.
is
8.2°2° A[[ to
find
an
characters
trie
is
and
stored
in
as
the
comparison
a
device
tvie
is
average is
number
illustrated
in
figure
the
number
avaiLabLe
keys other
in
unique
flte keys
an
The
number
of
in
ape
The
all
accesses
request
is
made
O(~,b) i s ~ b .
bucket
for
to a
alphabet
is
R,
d~
the
to
ten
(150000000.
°5)).
direct
8.1
and
the
number
used
methods The
LS
retrieve,
A
good
with must
average
O(u,b),
comparison
O(~,b).
of
access 8.2
figure of
ALL
items
in
the
buckets.
other
modified
and
of
comparisons.
file
adjustment
function
assumption
method,
inverted
methods
keys.
key
An
(150000000,
accesses
file
A
tree.
of
as
of
a
R,
generated
identlca[
a
F(CS:CC:LP:BS:T:[F:LL,
are
inverted
when
comparison.
averages and
loaded
symbol
F(CS:CC:LP:BS:T:IF:LL, The
storage
is
used
The
I)}
assumed
item. A
d,
are
flies
be
the
method
adjusted oumbe~
Assume
insert is
every
and
delete
product
approximatlon
of
to
the
for
of
that
but
identical
the identical the
average
110
In number
of
changes
figure
accesses
with
accesses.
z.
In
for
bucket
shoutd
retrieval
time
1 J) a n d
x
is
increases be may
is
than the
8.
The
minimizes trie
mean
number
considered
when
selecting
be
by
reduced
the
minimum
of
applying
F(CS:CC:LP:BS:T:[F:LL,
~(CS:CC:LP:BS:T:IF:LL,
various
changed
Less
Lists
the
the
trie.
80-20
< CRI~,b).
comparison
Figure between
Separate
cases
CR(~.b..2..8)
d.
with
sizes x
factor
most
The
chaining
Increasing
This The
rule,
8.2,
8.S
and
figure
insertion
and
the
I. 8.4
methods.
shifts
wilt
I,
(150009000,
d,
iLLustrate
the
Agaln , the
%tie
chan@e
the
minimum
(150000000,
.5)). relationships wilt
shift
number
when
of
accesses, Applying and
b
%he
rule
to
CC
(coatescing
List)
fop
= 2 yields
~i( 1,2..2..81
Th~s
80-20
waiue
is
Less
than
=
1.336,
the
value
fo~
CI(I.2)
in
figure
8.3.
~
=
1
111
100 80
BS
/ / /
60 50 40 30
T .- 7 ~'~'LL
•
20 CD Z
0 H~ f~ ®
10 8 6 S 4 3
CS - C h a i n i n g With S e p a r a t e L i s t s CC LP LL BS T IF
I I
Z
-
Chaining With Coalescing Lists Linear Probing L i n k e d Files Binary Search Trees Trie Inverted File
I 5
I 10
I...... 20
I 50
Bucket Size Figure 8, i.
Mean Number of Accesses Operation
Load Factor
For A Retrieval ~ = i
100
112
100 80 60 50 40 30 g
0 ~h
(Y
'~'~BS
~"~T
11I
//"w'LL
20
10 8 6 5 4 3
/
/
/
/ f a/
2 f ,,,
CS ~ CC ~
I
i
I
5
LP - Linear Probing LL - Linked Files BS - Binary Search Trees T -Trie IF - Inverted File With Separate Lists t h Coalescing Lists
I 10
I 20
I 50
100
Bucket Size Figure 8.2.
Mean Number of Accesses For A Retrieval Operation Load Factor
~ = .5
113
The
d,
1 ) } and
comparison
iLLustrated be
considered
in
a
spent
figure
The
8.5
and
if
minimum
superior
D,
deleting
seriously
file.
8.2.5,
a
figure
points
to
(150000000,
items
using
8.6,
Large
D,
the
This
number
again
d,
of
(150000000,
.5)).
various
is
a
the
are
that
must
factor
deletions
indicate
methods
ame
region
premi%fed
where
one
another,
~emagg_~R~.~_E~gsia~m~!a in
The
time
in
is
F(CS:CC:LP:BS:T:IF:LL,
F(CS:CC:LP:BS:T:IF:LL, The
method
is
many
storage
problems
requirement
chainlns
with
probing,
[inked
the
in
separate
wo~ds
Lists,
files,
storage is
space
presented
chaining
inverted
requirement in
with
file,
is
critical.
this
section
coa[escin~
lists,
binary
for [inear
search
tree
and
the
assume
that
one
percent
trie. For of
the
keys
the
are
The
storage
requirement
of
number
inverted
directory
seven
TabLe
8.1
tree,
trle,
with figure
the
Linear
8.7
load and
%he
the
inverted
the p~obe
average factor fisure
amount
and
and
8.8.
trie the
keys
the of
bucket
by
file
[iSto
each
each
amount
that
inverted
in
in
the
characterized
for
used
illustrates
The
is
possib%e
elements
and
Assume
file
and
elements of
file
distinct.
occur,
file,
inverted
key
the
trie
position
and
is
storage
inverted storage size,
five.
flie the
LikeLY
keys.
sto~age assume the Let
to
The
for an
the average
average h be
by
required
for A
equally
1.500,000
includes
In
position of
are
two.
binary
search
method. other
comparison
methods is
vary
iLLustrated
in
114
10000~ 30000
BS
10000
/
/
3000 (~
/
1000 /
300
/
0
100
/ y j
LP LL BS T IF CS - Chaining With - Chainin Z With
30 10
1
I 10
i 100
Linear Probing Linked Files Binary Search Trees Trie Inverted File Separate Lists Coalesc~g Lists
I. . . . . . . t,, 1000 10000
100000
Bucket Size Figure 8.3. Mean N ~ b e r of Accesses for An Insertion Operation Load Factor
~ = i
115
I/III
100 80 60 50 40 30
/---L.L/I
T / / /
/
20 # ~D
0 0
bl
,//i
10 8 6 5 4 3
/ / / /
2
Linear Probing il "LinkedFiles S - Binary Search Trees - Trie Inverted File Chaffing With Separate Lists CC - Chaining With Coalescing Lists L P
-
-
-
I I
I 2
I 5
I 10
I 20
I 50
100
Bucket Size Figure 8.4. Mean Number of Accesses For An Insertion Operation Load Factor
~ = .5
116
100 80 60 50 40 30
//•BS
/
/
/
/~--LL
/,
7J j
/
f
20
0
10 8 6 5 4 3
~ I F
CC
CS CC LP LL BS T IF
I i
2
-
Chaining With Separated Lists Chaining With Coalescing Lists Linear Probing Linked Files Binary Search Trees Trie Inverted File
I 5
I
I
10
20
I... 50
Bucket Size Figure 8.5.
Mean Number of Accesses For A Deletion Operation Load Factor
~ = 1
100
117
100 80 60 50 40 30
I I T
'/I
I I~-LL
20 0 0
t~ m
I0 8 6 S 4 3
/ ,/ ,,
/ I /
LP - Linear Probing LL - Linked Files BS - Binary Search Trees T - Trie IF - Inverted File - Chaining With Separate Lists CC - Chaining With Coalescing Lists
s-qZ
LP ~
CC
-~/
l 2
I 5
l 10
I 20
1 50
100
Bucket Size Figure 8.6. Mean N~nber of Accesses For A Deletion Operation Load Factor
~ = .5
118 TABLE
STORAGE BINARY
SEARCH
~REE,
8.1
REQUIREMENTS
TRIEs
LINEAR
PROBE,
INVERTED
Me%hod
Space
i.
Binary
2.
Trie
3.
Linear
~.
Inverted
A number
of
figure
8.10
for
a
FILE
Search
Probe..
accesses
. ........
and
the
measure
storage
the
the
product
average
useful
63000000
,.
150000000
. . . . . . . . . . . , .........
werformance
and are
.........
FiLe
iLLustrates
measurements
150000000
. . . . . . . . . . . . . . . . . . . . . . . . . . . .. .
product
retrieval
Tree................
when
is
10151500000
the
product
reauirement. of
storage
%he
Figure
average
the
8.9
number
requirement°
considering
of
average
and
of
accesses
These
accesses
and
storage
requirements. The assumption storage be
in
number
of
Assume
thet
keys,
The
Oia.h)
every
requirement
adjusted
average
re¢mievat
for
is
other
adjustment
storage
~b.
me%hod and
are
but
the
retrieval
identical
identical the
times
keys
in
Rn
all
inverted
sethods
are
for
comparison
requirement
the
and
using
Inverted
a
file
the
is
A
other The
bucket
to
unique
is
retrieve
the
good
key
me%hod.
comparisons.
modified
6(a,b).
fife for
accesses
in
keys
generated
product
The
product
methods average
O(~,b). identical of
approximation
the
to
must
119 100 80 60 50 40 30
I i/
iii
ZO
I/// /
O~
CD 0 ~h
Ln
10 8
LL".,,~// ' J
6
S 4 3
CS ....~/ CS - Chaining With Separate Lists CC - Chaining With Coalescing Lists LL - Linked Files
2
i
I Z
I 5
I, 10
I 20
I 50
Bucket Size Figure 8.7.
Storage Requirements x 10 8 Words Load Factor
~ = I
00
120
100 8O 60 50 40 30
/
/ / / / /
20
/ /
%
/ /
0 ~h
10 8
I
/
I I I /
LL
4 3
CC CS - Chaining With Separate Lists CC - Chaining With Coalescing Lists LL - Linked Files
I I
2
I 5
I 10
I 20
I, 50
Bucket Size Figure 8.8. - Storage Requirements x 10 8 Words Load Factor
~ = .5
..... |
100
121
/ D
30000
BS ~
//T
,
0 c~
10000
0 ~h CA 0
3000 1000
kJ.
300
/ /I
100
LL~//
c~
30
CS - Chaining
With Separate
Lists
CC - Chaining With Coalescing Lists
10
LP LL BS T IF
~/~- CS
(n tn
CC
3 I
i
-
Linear Probing Linked Files Binary Search Trees Trie Inverted File
1,, 10
1
t.... 100
! 1000
Bucket Figure
8.9.
Product Accesses
100000
Size
of Storage
Requirement
x 10 8 Words
Load Factor
l 10000
~ = 1
and Retrieval
I22
10000~
/ //~LL
ii /II/
30000 BS 0 ~h 6O c~ 0
I
10000 3000
®
/
/
1000
/
fD
tF
300 /
g t~
/ I
100
I
iii/
30
>
f~ f~
~q
10
/
/ CS CC LL BS T
3 /'~CS
I
I 10
- Inverted File Chaining With Separate Lists - Chaining With Coalescing Lists - Linked Files - Binary Search Trees - Trie
I 100
I 1000
I 10000 100000
Bucket Size Figure 8.10.
Product of Storage Requirement and Retrieval Accesses x 10 8 Words Load Factor
~ = .5
123
£ar_~n_L~ng!~_~e_~
a. 2.6.
Severer variable
methods
tength
keys.
Binary
Search
Trees
[ength
keys.
The
and
used
is
8.2.7.
in
The
many
for
fixed
search
trees
be
The storage saved
by
tree.
This
the
compensated
space the
best
the
good
for
for
variable
variabte
methods for
to
a
converse
tength
fixed
trie in
keys
of
keys
and
The
monograph.
In
the
trie,
storage
is
stored
in
space.
space
are
binary
this
storage
storage
storage
and
Tree
for
keys
true.
keys.
utilizing
utilization
not
[engths.
length
in
both
The
tength
key
tength
is
considered
fixed
efficiency
in
variabte
keys.
restricting
speed
high
method
composed
method
called
done
in
of
a two
search The
more
Sewerance
T~IE-TREE. stages. in
of
the
In One
this
stage
the In
is
retrievat.
flte
structure
Probe-Chaining
~ith
Separate
with
is
a
Linear
Separate
than
[63,
64]
method of
one
search
introduced the
search
search
in
the
method
ls
a
hybrid
for
any
TRIE
and
item a
second
TREE.
[inked
directory
Chain
Multidimensional are
for
tength
excellent
the
a hMbKi~_~ethod.
Linear
the
by
called
stage
retrieving
~x~!~_M~£gn Any
was
the
excetlent
but
fixed
inefficient
by
and
[9]
efficient
keys,
saved
improves
cases
8.2.8.
is
reducing
and
Benttey
is
a~e
~or
among
is
by
storing
~
length
trie
space
method
fife
that
ranked
are
in
cases.
methods
can
TRIE
inverted
All
methods
useful
introduced
Fixe~_h~ggt~_K~E
efficient
many
are
Probe
Lists
and
method.
the
is
a
Lists. search
hybrid The of
structure
called
search
the
the
item
of
file
11st
a
is
a
CHAPTER
store
and
been
taken
methods
retrieve
items
in
methods. allow
Several
the
The
been
comparisons
studied
of
of
base
chaining
with
inverted
files,
results been
have defined
Figure
that
the
Linear
methods
presented
buckets
are
percent
full
presented apply 8,1.
the
for
the
by
80-20
8.2,
method
ks
retrieval
bucket
50
Linear
size
is
using
has
the
various
manner
to
Lists,
using
the
8.5, to
deletions fulL.
tess
than
a
very
hash
tanked
trie.
A ~ixture
method.
for
probing,
have
the each
analyzed
the
superior
percent
Care
structures show
separate
figure
and
to
when and
graDhs.
data
tables
and
rule
in
modular
their
with
trees,
£1gure
probing
and
hash
in
a
to
device.
notation in
presented
search
storage
the
available
Lists,
approximately
and
methods
chaining
£ormutated
methods.
presented
hash
binary
to
o~
been
coalescing
been
unify
presented
tradeof~s
and
access
to
the
have
using
introduced
direct
been
been
and
Algorithms data
a
combinations
have
interrelationships
large
have
effects and
on
been
formulations
me,hods
The
have
9
The
files,
comparative
distribution various
methods.
and
figure
the
hash
for
cases
When
the
has
8°6 i n d i c a t e
chaining where
buckets
approximately
the are
40,
100 the
125
Linear
probing
separate
method
Lists
and
Figure method
where
buckets
are
the
than
approximately than
Lists
same
with
increase,
the
Lists
separate
Linear
of
to
requires
the
direct
As
accesses the
storage
size
for
full.
is
less
more
chaining
with
using
number
List the
of
than
fewer
storage
access
the
probing
method
List we
would
tends
like
the
of
the
with
coalescing
when
using
to
Lengths
equal as
Load
with
for
or device
and
chaining
accesses
and
factor
coalescing
chaining
wlth
records
and
heads N
TREE
and
a
for
with are
Links
A sequential a
Large,
TRIEo
overflow
area.
The
chaining
storage. of
To
the
many
o~
Llst
wilt
the
to of
N
&tLocation
be
storage
Lists
will
wasted.
records method been
and has
N
be
when
empty
and
chaining
encountered The
This
wlth
but
The
waste
The
maximum
Large,
method.
overlap.
have
achieve
buckets
the
Lists
separate
ALgorithms
lists,
different.
allowed
track
separate
are
avoids
instead
with
probing
size
the
chaining
Linear
waste
is
method
chaining
no
the
space
Lists
List
to
for
and
make
buckets
storage
the
Lists requires
method
much
storage
requirements
coalescing
of
store
Lists
percent
requires and
probing
presented
50
method ~ists
Linear
methods
bucket
the
separate
Lists.
approaches
size
N
and
probing
separate
accesses
number
with
separate
of
Linear
the
approximately
full
with
method.
that
chaining
chaining
Lists.
chaining
the
with
of
The
speed
are
with
coalescing
method
the
the
Lists
indicate
than
percent
the
than
methods.
number
chaining
8,4
buckets
I00
accesses
coalescing
figure
chaining
Chaining the
with
the
20,
the
more
accesses
cases
coalescing
and
£ewer
When
accesses
chaining
8.3
require
insertion
requires
record
allows ÷ N
been
presented
a
total
Links. presented and
to
analyzed
126
to
retrieve,
insert,
aLLocation
of
figure
8.6
accesses The
access
storage
require
more
100
binary
the
search
The aS
the
Linear
~ul[
tree
with
and
in
the
Linear are than
I00,
50
greater
separate
the
In the
and
the
and
number and
the
tree
50
buckets the
Lists,
trio
chaining
for
A
the
requires
bucket
fewer coalescing
accesses
than
chaining
Lists cases
trio
of
the
the
Lists. with
bucket
Linear
and
fuLL,
for
size
accesses
with
sizes
probing
binary binary
search search
tree
accesses.
the
TREE
that
a
Tale
chaining
and
is
word
requires with
the is
more
coalescing
same Large storage ilsts
order enough than and
probing.
and
[inked
chaining
flies wlth
are
the
direct
average
chaining
percent
assuming
List.
the
with
fuLL
Trio
aLL
number
Links.
TREE
access
separate
coalescing
reautrement probing,
the
number
insertion,
search
percent
fewer
both
are
than
deletion
with
and
1500.
than
to
retrievaL,
and
I00
with
than
two
a
average
~or
8,5
figure
probing.
Lists
chaining
a
greater
chaining
the
device
binary
requires
buckets
Linear
The probing
track
8.4,
figure
required
is
retrieva[
and
storage
record
TREE Tale
than
require
accesses
For
accesses
the
tvle
magnitude
sequential
between
storage
a
greater
When
a
separate
and
fewer
the
the
8.3,
figure
for
greater
Lists
requires
chaining
for
buckets
with
a~proximateLy
hold
of
Lists
chaining
separate
and
number
percent
approximately
tree.
access
accesses
When
The
using
relationship
direct
device
coalescing
than
the
ooeration. and
is
records
8.2,
figure
required
percent
with
the
average
accesses
deletion
8.I, indicate
to
T~IE.
of
delete
method. Figure
and
and
presented
Separate
Lists
as
a
hybrid
method.
of
the
ALgorlthms
Linear have
of to
127
been In
presented air
than
and
cases,
the
chaining
with
Linear
probing.
fewer
[inked
than
When
I00.
binary
tree
search
buckets
accesses
than
the
The with
separate
for
binary
tLnks
a
that
binary
than
the
search binary
ALgorithms flte.
Assume
average
number
gerater
than
using for
the
%he a
of four
with
probing
number
blnary
is
2,
than
the
the
accesses
search
tree the
inverted
chainLng
the
with
and
50 than
Lists)
is a
than
to
accesses
than
1500.
the
When
fewer
and
hold
files
than
a
Linear record
require
storage
an
probing.
or
the
100
average
method,
in
number
a
trie. inverted
bucket
number coatesclng
two
The
percent
with
the
the
for
with
and
more
than
analyzed
chaining
of
size
full, accesses lists,
retrievaL,
of
accesses
for
%tie, are
100
requires
separate
up
storage
to
percent the
require
files
require
record
file
less
sizes
Linear
chaining
[inked
always
buckets file
bess
hybrid
using a
flies
and
trie,
enough
and
Lists
Linked
Lists
presented
accesses
trie.
the
more
bess
buckets is
the
[inked
retrieve
the
files
and
searched to
separate
of
When
is
file,
and
tree
been
accesses and
The
Linked
fewer
coalescing
Large
of
approximately
require
with
search
index
inverted
chalning
linear
the
and
deletion.
coalescing
bucket
to
and
number
fuLL
Linked
tree
is
and
require
the
tree.
have
for
up
flies
a word
tree
percent
sizes
search
chaining
the
trie
fuLL
Lists,
deletion
files
bucket
greater with
100
tlnked
percent
a
search
the
Linked
Assume
storage
than
insertion
chaining
and
are
hybrid
probing. for
buckets
50
are
Lists,
binary
The
retrlevat, require
retrleval
accesses
approxlmate[y
the
flles
the
the
fewer
~or
separate For
accesses
require
analyzed
Lists,
percent
more
fuLL
accesses
chaining
and to
with
the
bucket
insert coalescing
a
size
record Lists,
128
Linear
probing,
requires
more
inserting
a
chaining risked
record,
for
are
the
sizes
The
average
file
number
with
number
bucket
of
of
accesses
coatesclng
tistsj
bucket
sizes,
record
than
the An
binary
inverted
bucket
size
greater
record
than
chaining
tlsts,
tinear
required bucket
by sizes
the
greater
delete
a
case
the
with and
inverted
greater the
than
record
contesting
the
search
than
a
tlsts, fire
file
furL.
the
inverted
the
average
chaining
wlth
method.
For
accesses
to
aLL
insert
a
trie.
tess
the
than
Linked
the
in
lists~
fewer
percent
tO0
percent
accesses
to
chaining
with
method.
Fewer
trie
to
delete
fuLL
and
futt
and
delete
a
the
coatescing accesses
a
are
record
for
bucket
sizes
accesses
to
2. are
50
percent
inverted
chaining
llnear
tess
buckets
requires
than
Fewer
file
50
record
IS
the
the
linked
and
six.
inverted
are
separate
and
separate the
ten
requires
with
five
buckets
nine
a
tree
fire
than
than
ilsts, binary
fire
than
probing
When are
search
an
insert
and
flte
in
than
Lists
approximatety
buckets
with
probing
inverted
thRn
When
accesses
Coatescing
the
than
chalnin~
fewer
tree
2.
where to
search
sizes.
bucket
with
record
than
greater
linear
the
a
accesses
for
art
binary
requires
greater
case
sizes
file
insert
The
for
chaining
greater
the
trie.
case
sizes to
Consider
this
fists,
required
the
inverted
bucket
bucket
and
in
separate
files
with
file
accesses
with
accesses trie
linked
with
~robing, tree
flie
requires
separate Linked
requires
more
fewer
ilsts,
files
the
and
accesses
chaining the to
with
trle. delete
In
this
a
record. The storage
for
the
storage fate,
regulrement inverted
list
for and
the the
inverted
fire
includes
index.
When
the
bucket
129
size every
is g r e a t e r method
and
the
presented particular
in
choice
operations this
large
seiecting processing
this
method
requires
tess
storage
than
of which on
monograph
that
method
is best
data.
indicate
The where
depends
on
performance one
method
the
type
of
measures is
good
for
a
operation.
This very
I0000,
presented,
The data
than
data the
anatysis
is
bases.
The
Correct
very
large
important
approach
data
structure
dRta
bases,
to
designers
taken and
wilt
search
of
aid
systems the
algorithms
using
designe~ for
in
APPENDIX
The
foliowlng
notation
A
Is
used
consistently
or
link
vector
throughout: SYMBOL
MEANING The
AVAIL
A
Load
Link
to
factor.
variable
that
points
BUCKET.
h
The
bucket
size.
BUCKET
An
B(k~N,!) d
Binomial
probability
CC
ChaLnin~
with
coalesclng
CS
Chaining
with
separate
C D ( ~, h )
Average
number
available
pool®
storage
distribution,
Lists. ~ists,
of
accesses
in
a
of
~ccesses
in
~n
of
accesses
in
a
deletion
operation.
CI(~,b)
Average
number
insertion
opemation.
Average
numbem
operationo
C 6 ( ~. b. x . y )
The
expected
value
of
the
mixture
retPievat
131
MEANING
SY MBO L
probabiilty Deletion
opema~iOOo
~etrieva[
operation.
The
DL
A
E(X)
The
f
A
number
double
of
buckets,
[inked
expected
function
into
H.
operation.
Insertion
d
F( C S : C C °
dlstribu%ion.
file.
value that
internal
Comparison
of
the
variable track
transforms
maln
memory
X. addresses
addresses.
operator.
(N,d,~))
g(j)
A
frequency
of
the
items
in
V(x)
Gamma
function.
h
The
h(K)
A key-to-address
transformation.
R( N , s )
The
number
K
A
LL
Linked
file.
LP
Linear
probing.
Lt(
m,
b)
a
function
height
Nth
of
file.
or
the
teve[
harmonic
of
a
of
tree.
order
s.
key.
Average
load
ra
The
avera@e
N
The
number
n
Average
OVAIL
occurrence
a
key.
A
[ink
time
number of
number
variable
for
of
a
file.
records
assigned
to
a
bucket.
~ecords, of
dl@its
that
or
points
characters
to
possible
OVEI~FLOW.
in
I32
SYMBOL
MEANING
OVERFLOW
An
overflow
Mean
m,b)
an
p( J,e
avaiLabLe
number
o£
inverted
when
$
=
Zipfian
approximately
READ( P )
Read
a
Read
the
main
memory
READ
P
s
Ss(n,b)
Total
T
A
WR [ T E ( P )
Write
a
WRITE
Write
the
e
=
0
and
when
e
~
L~g_a~ tog .20
.
the
P
into
P.
address
the
internal
an
inverted
s.
for
file.
track
containing
record s
in into
the
the the
address
internal
P.
main starting
~ocation
P.
storage
seoarate
requirement
for
chaining
fists.
Average
storage
requirement
for
a
Average
storage
requirement
for
chaining
for
a
coalescing
Average
Linked ~p
Uniform
when
required
buffer
Average
with wt~
at
buffer
storage
address
with
~t
iS
trie.
at
~f
of
List.
memory
tdc
buckets
that
containing
record
A ring
the
distribution.
track
RL
P s
80-20
probability
A
in
distribution
1~
Pfk)
items
pooL.
file.
A probability
)
storage
Storage
storage
Linked
Lists. requirement
double
file. requirement
for
Linear
probing.
flee.
133
MEANING
SYMBOL
us
~t
Storage
requirement
Average
number
of
nodes
Average
number
of
digits
in
used
Uniform z
NODE
OPERATORS
position
a
tree.
required
or
of
a
to
store
a
characters trie.
rute.
80-20
e
each
for
distribution.
Zipf's
Law.
Assign
a
value
Assign
a
[ink
manage
the
to
a
variabte.
variabte
avaitable
a
value
storage
and pool.
MEANING
ADATA
Address
of
the
data°
ANEXT
Address
of
the
next
ATAG
A
CODE
Code
ENEXT
Address
ETAG
A
GET
Read
i,put®
HEAD
List
head.
[NFO
Stored
NODE
Count
of
PUT
Write
output.
TAG
Bit
tag
indicating indicating
tag
of
the
[ndicatlng
filial
the the
set.
state state
of of
an a
ANEXT
node.
sibling. the
state
of
an
ENEXT
key.
tag
the
to
node.
bucket
indicate
size.
a
bucket
node
state.
node.
trLe.
REFERENCES
1,
Abd-Atta,
A.M.
and
2°
Ackerman,
A,F,
"Quadratic
Comm_ACM~
17.3
(Feb.
Bays,
C.
~The
16,1
(Jan.
3.
~o
Bayer, Large pp.
5.
R°
J.R°
Bert,
Indexes",
~The
E.
of
Size
On " ,
164° Hash-Coded
Tabtes~,
*tCrganization
and
A ~ _ ~ E ~ & ~ ,
Binary ~
Quadratic
Secondary
J . Ro
Benner.
and 13,11
F.H°
Management
9.
Tabtes
~fi~L_A~,
1
Maintenance
of
(1972)
B-Trees: _
~
~
G
Data A
.
Structure 1
and
(1972)
Quotient
CLustering
Method:
~,
b
~gL-A~,
Hash
13j2
Code
(Feb.
1970)
107--100.
C~.~wa &~M, 8.
Hash
11-I¢.
Atgorithmsn,
Etiminating
7.
of
for
290-306°
Bert,
DD.
pp.
1970)
McCreight,
*tSymmetric
Maintenance
6.
Search
E£~ci_~!~_fif_p.igi!A~
173-189.
Bayer.
POo
pp,
and
Ordered
A.C.
Reattocation
1973)
R°
Mettzer,
Bentiey~ Associative
Kaman,
(Novo1970) ~On
Designing
Information
J.L.
C.H°
"The
po,
Quotient
Hash
Code",
675-677.
GeneraLized
Systems ~.
"Muitidimensionat Searchlng",
Linear
Qomm ~ C ~
Fire
Records
for
&~LEfi_G~£~££~£_E~a,g~g~-=
Binary 18,9
Search {Sew°
Trees
Used
1975 ) pp°
~or
B09-S17o
135
10.
BLoom, Data
11.
B.H.
Base
Broom,
B.H.
13.
Brent,
15.
Errors",
Comm
16j2
Buchhotz,
nFite
"Some
C__qo~s_A~M , 1 6 , 4
(Apri[
C[ampet%,
H=Ao
Coffman, Hashing
17.
A.J° File
A.C.
Storage". 19.
de
pp.
20.
ta
an.
7,3
(March
Eve,
J.
R.
~,
Storage
IBM_SX.S~s
JoE.
Searching pp.
"FiLe
Structures
(JuLy
"File
1970)
1970)
Searching
of
AFI~S
Searching pp.
Searching",
with
Tree
163-165.
"AnaLysis
Techniques'.
{Aug.
FiLe
1964)
13,7
Ouadratlc
13=8
422-426°
105-109o
to B e s t - M a t c h
Binary
Sheme~,
ACM,
Briandais,
for
pp.
Using 427--A36.
Retrieval
for
9onfemenc~
Scattee
481-482o
Using
Variable
Length
295-298.
Dodd.
G.G.
~X~X~. 21,
Comm
With
Scatter
Addressing
WRandomized
TabLe
pp®
of
pp°
230-236°
Organization
"Fut~
1973)
A C M Nat~o_nna~
Coding
1970)
1973) p p .
~£mm_A~M,
and
Hash
Large
86-111.
and
Functions",
Coitmeyer,
Day,
E,G.
1969
Time
and
Approaches
~£m~-A~M,
Jr.,
SeLected
18.
~p,
1963)
Jr..
(Feb.
Affecting
-
(JuLy
Retrieval
Organization
W°A.
Structures", 16°
ACM~
in
13,7
Techniques",
Burkhard,
Proceedings
~--A~,
the
(June
Trade-offs
Trade-offs
"Reducing
W.
and
T i ~ e s n,
~Space/Time
R°P.
Jo~n~, 14.
Techniques
Retrlevat
ALLowabLe 12.
"Some
FelLer,
"ELements
1,~ W.
(June
1969)
Data pp.
Management
volume
Finket,
and
I,
John
BentLey,
Systems',
Computing
{17-133.
A~_~s!r_~o~__qc~ion_~£_~o~i!i~
A~li£~_t~on_ss, R.A.
of
WiLey J°L.
and "Q~ad
Theor_/f_&ndiXs Sons, Trees
Inc,
( 1950).
a Data
Str~cture
136
23°
for
~etrievat
pp.
I-9.
Foster.
C.C.
24°
Fredkin,
25.
Ghosh,
E°
J_~__ACM,
27.
of
Heising,
W°F.
32.
M.E.
AVL T r e e s
Tompa.
~,
C_~mm ACM.
16,8
on
~Jo_~e_na~.
( 1960 ) pp.
Organization:
Points
F.W.
for
"Choosing
PP.
Random
(June
3
A90-499. On
the
Sequentiat
Files
",
569-579.
(1974)
~Note
~Fite
Index pp.
1969)
3
a
1963)
Storage
Schema",
297-319.
Addressing pp.
Techniques",
111-116.
Arrays'.
~MuttidlmensionaL
"Some
T.N.
to
AppLications pp.
1962)
Hsiao.
D.
Comm
ACM.
(1962)
Combinatorial
Properties
of
Searching
Sorting
~=. ACCM. 9 . 1
and
and
Harary,
F.
"A Format
from
Fires".
~o~m_~,
Hu,
T.C.
and
Tucker,
A°C.
and
Variabte--tength (Dec.
Johnson. Secondary
Y.:
L.R.
Trees
IBM c o r p . .
UAn
Key~ ~.
(Feb.
"0ptimat
for 1970)
Computer
Codes".
Information
SIAM
pp.
67-73.
Search-Trees ~L. A ~ . _
Math..
514-532.
Int£o~uc~on
N.
System
13,2
AtphabeticaL
1971 ) p p .
IBM c o r p .
",
Certain
12-28.
Retrieval
PLains,
33.
of
(1974)
!n~orm_~t_i£~ . 4
205-207.
Hibbard,
21,4
Acts
C om_m ACM,
Acces~
and
HeLLerman. H.
(Jan.
31.
Senko.
I_nf~otmatica,
with
30.
Memory",
(Oct.
C.C.
Keys".
513-517°
Random
16,4
Gottieb~
pp. 29.
GeneraLization
and
LBM S T ~ t e m ~ 28.
"A
=Trie
S.P.
SeLection
Acts
Composite
197~ ) p p .
(A~g.
26.
on
Indlrect
~Qmm_~.
! g _ ! B M S~te~__3Z_70 _ D l r e ~ t
1974,
94pp.
Chaining 4.5
Access
(May
Method 1951 ) pp.
for
Addressing
218-222.
on
I37
~nd
Se~h~ng~
Addison-Wesley,
F~nt~_&~£P~th~s, 36.
3Z.
Knuth,
D.E.
(1971)
PP.
LandaueP,
38.
39°
W.I.
"The
41.
Lowe.
T.C°
Usage
on
(Oct.
1968)
1963)
"The
Direct
F.
V.Y.,
Data
Management
Lum,
V°Y.,
43.
996°
Lum~
~emm_~M, 44.
Mau~e~. £emm_A~M,
45°
A
Mau~e~.
of
File
and
InfoPma__~i~a,
and
13,11
[
in
up_u_~texa,
CharaetemistEcs J._ACM,
and
15,4
Formatted
(Jan°
Ig6S)
Lewis,
E.
M.
"Analysis
Modeting",
Study
on
~esults
Fundamental ~ _ ~ M ~
~ash op.
with
T~ansfo~m
Large
"Addltionat
PP.
a Complex
"Key-to-Address
Ret~ieva[
ToG.
of
1971 ) pp.
A
Scatter
10~5--|047.
Simulation
Files",
1970)
Improved
pp.
for
14,4 ( A p r i l
Techniques:
"An
M.
Search
Performance
P.S.T°
(Nov.
and
1972)
Dodd,
"Multi-Attribute
WoD.
Base
Linear
by
Me%hod
~ _ ~ M ,
Existing
II,I
Utilization
Organization",
Senko,
Fundamental
Yuen,
W°D°
its
and
Data
(Dec.
15,12
P.S.T°
Transform
V°Y.
&eta
863-871.
Increment
H.
Yuen,
and
p.
PP.
Access
Lum,
Large
Trees",
!EE~_TE~nn=_~!e~ron,_~em
Influence
Ling.
Flies",
on
228-606°
535-548.
Formatted
Address
Tree
"Weighted
Lum,
V.Y.
Balanced
Access
pp.
Techniques:
42.
Search
retriever",
Tables" • ~emm_A~M.
40.
Binary
PP.
14-25o
(Dec.
Luccio)
389-700.
Addison-~esLey,
"Optimum
Information EC-12,5
pp~
Existin~
228-239°
on
Key-to-
Performance 15,11
Combined
(NOV.
Study IQ72)
Indexes",
660-665° Code
for
ScatteP
Storage",
35--38° "Mash
Table
Methods",
~P-~-~i~g
138
S~e~S,
47.
Mclimoy.
Method
M.D.
Mo~is.
~.
51.
pp.
and
Binary
J,
55.
£emm_~AfM,
CQmm_&~_M.
II, I
Algorithm
to
Retrleve
~._AC_M.
15,4
(Oct.
1968)
Trees
and
R. in
Storage
"Dynamic a
Two-Leve£
Reingotd,
E.M.
Memory ",
~Binary
SiAM_~._~sm~s~iag,
Allocation P£o___qc~edi_~
Search
2,1
(March
and
File
Trees
of
1973)
33-43,
Otson,
J.
C°A.
Addressed
54°
Uz~atis.
Ba£ance",
Nievergelt.
PD°
Searching",
Techniques".
in A i p h a f l u m e r i c " .
Search
C~tin_~_S~EX~X~ 53.
Storage
"PATRICA-Practical
Coded
R,
Bounded
52.
File
Z4-88.
38-44.
D.R,
Nie~ergett,
pp.
of
pp.
514--534.
MUff%Z, for
Variant
"Scatter
1968)
Morrison,
pp.
"A
Inc.~
101.
Information
50.
5-19,
pp.
Holden-Day,
(Jan. 49°
1975)
(March
~u__~e~_~nd_Te~hn!gues.
w° 48.
7.1
"Binary , 6.3
"Random
Records",
Search {Sept.
Access
Trees 1974)
F~Lo
£~e£~iBM~
pp.
195-207.
Organization -
1969
Organizatio.",
ACM
for
Indirectly
Natien~!_~on~fi~e~,
539-5~9.
Peterson,
W°W°
pp.
130-145.
van
deP
pp.
579-586.
Pool.
"Addressin~
J.A.
"Optimum
fop
Random
Storage
Access
Allocation
Storage",
for
Initial
t39
56.
van
der
PooL,
Steady pp.
!~
pp.
Inc.
Radke, 31.I
59.
State",
C.E°
(Feb.
Rivest,
Satton.
G,
Schay,
G.
Quadratic
AtLocation
(March
Inc.
A.K.
pp.
of
(Jan.
W.G°
University
Severance,
D.
Generalized pp. 65.
pp.
66.
pp,
1973)
Research",
C~m~_AC~,
(Aug.
and LibE~EZ_~cessing. 277-320.
1962)
We[nberg,
SIAM_J¢
pp°
BsL°
of a F i L e 459-462°
"Storage
Memory
Addressing
and
System".
Search
Comm
AC~,
28-31.
~es~_~x~!!a~_Mg~s!ing_~_qtur~_~e~
Of
Michl~an,
"Identifier
ModeL",
D.
and
Ph.D.
Dissertation,
1972. Search
Mechanisms:
Co m~tiQ~_S__uurvey~,
Duhne.
Kddress~n~ A[sorithms"
6.3
A Survey
(Sep.
and
1974)
R.
,
"A P r a c t ~ t i o n e m ' s
Comm_~CM,
19,6
(June
Guide 1976)
314-326.
Sussenguth,
Jr.,
FiLes", ~emm_A~M, 67.
in
175-194.
Severance, to
(Jan.
FiLe
19-50,
~a~_In_~i~_~oX_~!~__QEE~i~!onS,
64.
a
Atgorlthms",
"AnaLysis
a Tree-Organized
1963) D.
pp.
(1975)
5,8 and
Residue
Retrleva~
1976)
SpruCh,
~Qm~_~.
Severance,
The
for
105-107.
"PartiaL-Match
and
Properties
63°
of
~na_~mi_q_Inf__qEmatlon
Scidmore,
6,1
use Ppo
1970)
R.L.
Method", 62.
S¢orage
J,_~E~b_~a~_~fiX~!gg~_0~t,
"The
Prentice-H~t¢, 61.
*Ootimum
127-146.
Com_j~ti_nng, 5 , 1 60,
A.
27-38.
HaLt,
58.
J°
Tainiter,
M.
E.H.
~Use
of
Tree
6,5 (May 1 9 6 3 ) pp.
"Address[n~
for
Structures
for
Processin~
272-279°
Random-Access
Stomate
w~%h
I40
MuLtipLe 68,
69.
Bucket
Capacities"j
Uttman.
J.D.
"A
~a~_A~M.
19,3
(JuLy
Wedekind,
H.
non
B~eM~/g_ement, 70.
WiLliams,
Lan~age 71.
Zipf, Hafner
Note
F.A,
1972) The
pp.
(1963)
Efficiency
Ppo
of
307-315.
Hashing
Functioos~j
pp.569-575. of
Access
Paths
in
a
Data
Base
385-397. Identi~iers
~o@~_ACM,
HM~_B~h~_vi2£
PubLishing
the
SeLection
"HandLing
Processors'.
G.K.
on
~¢_A~M,
Company,
2,6
as
(June
Internal
1959)
~ n f l TT~ P r i ~ A p L ~ _ ~ o f
(1965).
SymboLs
pp. Least
in
21-24o Effort,