i!!i'ii~ii~i ¸i~il !
!i
Techniques
Tr'le Memory*
EDWABD
I
t~r;DKIN, Bolt Berandc and Newman, Inc., Cambrid(/e, Mass.
Introduction
Trie memory is a way of storing and retrieving in-
formation. ~ It is applicable to information that consists
of function-argument (or item-term) pairs--information
conventionally stored in unordered lists, ordered lists, or
pigeonholes.
The main advantages of trie memory over the other
memoIw plans just mentioned are shorter access time,
greater ease of addition or up-dating, greater convenience
in handling arguments of diverse lengths, and the ability
to take advantage of redundancies in the information
stored. The main disadvantage is relative inefficiency in
using storage space, but this inefficiency is not great when
the store is large.
In this paper several paradigms of trie memory are
described and compared with other memory paradigms,
their advantages and disadvantages are examined in
detail, and applications are discussed.
Many essential features of trie memory were mentioned
by de la Briandais [1] in a paper presented to the Western
Joint Computer Conference in 1959. The present develop-
ment is essentially independent of his, having been de-
scribed in memorandum form in January 1959 [2], and it
is fuller in that it considers additional paradigms (finite-
dimensional trie memories) and includes experimental
results bearing on the efficiency of utilization of storage
space.
Basic Paradigm of Trie Memory
Let us consider first a simple abstract form of trie
memory. Suppose that we need to keep track of a set of
words, a set of sequences of alphabetic characters. The
words are of various lengths. From time to time, additions
to the set and deletions from it must be made. What we
have to remember is just which ones, of all the possible
finite sequences of alphabetic characters, are currently in
the set. That is, given a word, we must be able to determine
whether or not it is at present a member. In this example,
each word is an argument, and the corresponding function
* The work reported here was begun at the MIT Lincoln Labo-
ratory and completed at Bolt Beranek and Newman, Inc., with
contractual support from the IBM Federal Systems Division. The
author wishes to acknowledge his indebtedness to the many peo-
ple-colleagues, friends--who have helped on this project. Espe-
cially, gratitude is expressed to Dr. J. C. R. Licklider for the
most
pervasive assistance.
1 ED. NOTE:
"Trie" is apparently derived from reTRIEval.
490 Communieations of the A.CM
O~tainir
.0rking
ds a t
~,hieh w
s
all
eni
['he 0th
egister
~ a is
In 0r(
:~t0 the
egister
is simply the binary variable of which the admissible values then xv
are
member and nowmcmber. ~ cell.
At the outset, before a storage is begun, the trie is Iress "
merely a collection of
registers. I!;xcept for two special 0mplel
registers which we m'~y call a and a, every register has a We t~
cell for each member (type) of the ensemble of alphabetic :iyintr(
characters. If we let. that ensemble include a "space" to ;igister
indicate the end of a word (argument), each register must he D
have 27 cells. :~rmin~
Each cell has space fox" the address of any register in the Whe
memory. Cells in the trie that are not yet being used t0:i, ailc
represent stored information ahvavs contain the address i0i0~ 1
of the special a register. A cell thus represents st0red :~giste ~
information if it contains the address of some register iidl '
other than a. The information it represents is its own 6giste:
name,
"A" for the A cell, "B" for the B cell, etc., and
r
address of the next register in the sequence. :~fthe
Storage of words of alphabetic characters is illustrated : Be~ i
in Fig. 1. For the sake of simplicity, the ensemble 0fmp e
characters has been restricted to the first five letters of
alphabet and V for "space/' Suppose that we want t0:ii!iig: :
store DAB, BAD, BADE, BE, BED, BEAD, CAU;:i~;iih,
CAD, and A. We may follow the procedure illustrated in
Fig. 1, in which the rows represent registers, each one:fig. 1
simpI2
16 ,'~ll
t,i
Is
iermi
14 i~e IIil
~3 i~ek
,a :ihest
',~'e
b
s, ~E..
I0
Th
9
iart,
8
7
6
i,it0
5 ;Ugh,
4
S
it~
3 ih~ s
a :~he
I
~ORTAL = I ,~--
A B C D E
V
FIG. 1. Schematic representation of storage of words i~
memory